惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
D
Docker
Blog — PlanetScale
Blog — PlanetScale
罗磊的独立博客
美团技术团队
V
V2EX
Last Week in AI
Last Week in AI
D
DataBreaches.Net
T
The Blog of Author Tim Ferriss
宝玉的分享
宝玉的分享
Microsoft Security Blog
Microsoft Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
人人都是产品经理
人人都是产品经理
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
B
Blog RSS Feed
博客园_首页
B
Blog
博客园 - 叶小钗
I
InfoQ
WordPress大学
WordPress大学
L
LangChain Blog
Apple Machine Learning Research
Apple Machine Learning Research
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
A
About on SuperTechFans
The GitHub Blog
The GitHub Blog
The Register - Security
The Register - Security
MyScale Blog
MyScale Blog
云风的 BLOG
云风的 BLOG
博客园 - 司徒正美
Latest news
Latest news
W
WeLiveSecurity
T
The Exploit Database - CXSecurity.com
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
aimingoo的专栏
aimingoo的专栏
小众软件
小众软件
Cyberwarzone
Cyberwarzone
Scott Helme
Scott Helme
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
CERT Recently Published Vulnerability Notes
C
CXSECURITY Database RSS Feed - CXSecurity.com
Recent Commits to openclaw:main
Recent Commits to openclaw:main
N
News and Events Feed by Topic
S
Secure Thoughts
The Hacker News
The Hacker News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Google DeepMind News
Google DeepMind News

博客园 - 佛西亚

https访问 asp.net Core上传文件 .NET Framework 4.0 DLL注册GAC 使用iText 7读取PDF文件中的文本和图片 用SQL Server Profiler跟踪AX执行的SQL语句 D365升级包 Ant Design Pro V5 + Django Restful Framework Token认证前台实现 Ant Design Pro V5 + Django Restful Framework Token认证后台实现(二) D365 FO产生随机字符串 D365 FO Array增加排序 D365 FO无法命中断点 Ant Design Pro V5 开发时使用后台服务数据 JavaScript跨域访问 同步数据库报错 DataEntity增加关联DataSource Java通过代理上传文件到Azure blob 使用iText7操作PDF D365 FO Json序列化和反序列化 D365 FO操作Azure Blob
Ant Design Pro V5 + Django Restful Framework Token认证后台实现(一)
佛西亚 · 2020-12-26 · via 博客园 - 佛西亚

一直想找一个跟D365 FO一样的开发平台做一些开发,D365 FO的开发平台的确封装得太好了,开发人员不需要了解任何前端的知识,这些东西都被控件封装好了,开发者完全看不到前端的html,css和JavaScript这些东西,只要拖拽控件就好了。
真正做到了只需要关注业务逻辑,开发效率的确是高。
找了很久,找不到类似的东西,这也可以理解,毕竟D365 FO是个商业性的软件。
最后决定用Ant Design Pro V5做前端,后台的API用Django Restful Framework实现,目的是想能找出一条可以快速开发小型中后台应用的方法。
做了这么多年AX,被AX开发平台的简易性惯坏了,外面的世界完全搞不懂了。
没有用过Ant Design Pro V5,也没用过Django,更不用说Django Restful Framework了,甚至Python都还没入门,真是零基础开始。
主要做AX开发,这个开发只是业余时间玩,不知道是不是能坚持下来。

这一篇先说一下Django Restful Framework的Token认证的实现。
简单说一下基本的概念。
Django是一个用来快速创建web应用的框架,它有自己的View也可以快速页面,Django的文档非常完善
https://www.djangoproject.com/
但是选择了Ant Design Pro V5作为前端框架,那么这个View就用不着了,只想用Django做API的提供者。
现在很多都用Restful API来提供API,而Django也有对应的框架Django Restful Framework来方便地提供Restful API,这个框架的文档也很完善。
https://www.django-rest-framework.org/
这些文档内容都很多,完全从头到尾看完,对业余时间搞这个来说工作量太大,基本上不可能,本来也没多少业余时间。
只能采取按需索取了,想实现一个功能,找到对应的段落和文章看,但这样有一个问题,很多时候只能看到局部,不能全面了解,导致找到的实现方式可能不是最好的,甚至是最差的,不过这种事情就很难两全了,只能逐渐改善了。

首先遇到的第一个问题是如何认证?后台怎么知道某个访问请求是合法的经过认证的,这个有很多方案,总体来说基于Session的和基于Token的。
这两种方式的优缺点的对比分析网上有很多资料,这里就不讨论了,最终我选择了基于Token的认证方式。
Token认证又有很多方式,Django Restful Framework也提供了基于Token认证的实现方法,因为D365 FO的API认证用的是JWT的Token,我也觉得这种方式更简单,后台不需要保存Token信息。
Django Restful Framework有一个JWT的扩展Simple JWT可以方便地实现JWT认证,网址如下:
https://django-rest-framework-simplejwt.readthedocs.io/en/latest/

要做的东西基本上明确了,使用Django Restful Framework Simple JWT实现用户登陆验证成功以后获取JWT并返回给调用的前端。