DRF比Django的认证和权限高在哪里 (3)

image-20201219181537178

其他认证方式

本文使用的认证方式是默认的SessionAuthentication和BasicAuthentication,只要数据库的用户名、密码和请求中的用户凭证(用户名、密码)匹配上了,就认为认证成功。如果要实现token或jwt认证,需要使用到rest_framework.authentication:

DRF比Django的认证和权限高在哪里

或rest_framework_jwt.authentication:

DRF比Django的认证和权限高在哪里

pip install djangorestframework-jwt

这一部分内容官网教程中并没有提及,等我们把教程学完了,以后再找时间来介绍。

东方说

DRF实现认证和权限的关键在于新增permissions.py模块,编写class,继承permissions.BasePermission,重写has_permission()或has_object_permission()方法,再添加class到类视图的permission_classes中。这块的内容比Django的认证系统那套简洁,但是有点混淆,另外我之前参照网上实现了一版JWT,也有点不一样。看来还得写篇对比的文章才行。

参考资料:

https://www.django-rest-framework.org/tutorial/4-authentication-and-permissions/

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zyjyjx.html