认证组件的书写
例:书写登录认证
第一步:新建一个py文件(以auth为例)
第二步:书写认证类,并继承BaseAuthentication
# 首先导入模块 from rest_framework.authentication import BaseAuthentication # 书写认证类(以登录认证为例) class LoginAuth(BaseAuthentication):
第三步:在类中重写authenticate方法,完成认证
class LoginAuth(BaseAuthentication): def authenticate(self, request): token = request.query_params.get('token') if not token: raise AuthenticationFailed('请先登录!') user_token = UserToken.objects.filter(token=token).first() if user_token: user = user_token.user return user, user_token else: raise AuthenticationFailed('token不合法!')
第四步:使用认证类,在视图函数内书写
authentication_classes = [LoginAuth]
标签:LoginAuth,书写,认证,token,user,组件,BaseAuthentication From: https://www.cnblogs.com/wellplayed/p/17928425.html