认证和权限
用户注册
设计数据模型,设计字段标识用户权限
实际就是数据的添加
POST users
接收数据进行存储
增加了内置超级用户的功能
在创建(即用户注册)的时候去判断是否在超级用户表中
用户登录
POST users
添加区分方式,用来区分注册和登录
在query_params中添加action参数 通过action参数进行分支处理
脱离cookie
session失效
设计令牌策略
用户在登录时生成令牌,后端存储在cache中,以json格式返回给前端
用户认证
继承自系统的基类BaseAuthentication
重写认证类方法 authenticate
根据token进行认证
认证失败返回None
认证成功返回元组
第一个元素是user
第二个元素是令牌 auth或者token
用户存储在request.user
令牌存储在request.auth
用户权限
继承自系统的权限基类BasePermission
has_permission
判断 返回True 有权限,False没有权限
根据用户状态,动态返回True或False
用户认证和权限
直接配置在视图函数view上
authentication_classes = (UserAuth,