首页 > 其他 > 详细

restframwork组件的权限认证

时间:2018-11-09 18:45:07      阅读:136      评论:0      收藏:0      [点我收藏+]

在一个视图类下重写  authentication_classes = [TokenAuth,]然后去认证类TokenAuth里面实现认证逻辑代码

认证类代码块:

1 class TokenAuth(BaseAuthentication):
2     def authenticate(self,request):
3         token=request.GET.get("token")
4         token_obj=Token.objects.filter(token=token).first()
5         if not token_obj:
6             raise exceptions.AuthenticationFailed("用户验证失败,500")
7         else:
8             return token_obj.user,token_obj.token

可以继承基类object,但是需要重写两个方法authenticate和authenticate_header

from rest_framework.authentication import BaseAuthentication 导入模板类便于继承

直接继承 BaseAuthentication 可以只重写前面一个

视图类代码块:

 1 class BookShow(viewsets.ModelViewSet):
 2     authentication_classes = [TokenAuth,]
 3 
 4     queryset = Book.objects.all()
 5     serializer_class = BookModelSerializers
 6     def list(self, request, *args, **kwargs):
 7         print(request.user)
 8         print(request.auth)
 9         book_list=Book.objects.all()
10         bs=BookModelSerializers(book_list,many=True,context={"request":request})
11         return Response(bs.data)

 

restframwork组件的权限认证

原文:https://www.cnblogs.com/wen-kang/p/9936550.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!