认证:
确定用户是谁;
权限:
确定认证后的用户能做什么;
django-rest认证权限流程:
1.认证。获取请求的用户与django自带的User数据库对比,把结果存到request.user和request.auth。
2.权限。根据request.user/request.auth和定义的权限(djnago自带或自定义的),确定能做什么,一般是指能调用那些视图功能。
django-rest权限认证开发流程:
1.确定认证方式。
全局:REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('认证方式')}
2.确认权限方式。
全局:REST_FRAMEWORK = {'DEFAULT_PERMISSION_CLASSES': ('权限')}
django-rest使用第三方认证django-rest-framework-jwt:
备注:dfr-jwt还是需要django自带的user数据库的;
1.设置认证。
2.设置权限。
例如设为登陆才可见权限:IsAuthenticated;
3.工作流程。
客户端带上username/password访问path('auth/', obtain_jwt_token),obtain_jwt_token获取用户与django自带user表认证,然后生成token或错误信息;
前端就获取了token或错误信息;
前端head带上Authorization: JWT token,访问后端其他urls;