首页 > 其他 > 详细

DRF 权限的流程

时间:2018-03-01 21:05:02      阅读:224      评论:0      收藏:0      [点我收藏+]

DRF 权限的流程


django rest framework入口是 dispatch,然后依次

--->>封装请求--->>处理版本--->>>认证--->>>权限--->>>限制访问频率


(1)auth需要通过token唯一标识来认证

技术分享图片

技术分享图片

技术分享图片

(2)通过auth认证后得到,用户user信息,但是没有admin的权限

权限用来做进一步做职责的划分

技术分享图片

技术分享图片

技术分享图片

代码

class MyPermission(object):
        message = '无权访问'
        def has_permission(self,request,view):
            if request.user == 'userAdmin':
                return True
            return False

class GoodsListView(APIView):
    #
    # 先 登录认证 authentication_classes = [Myauthentication,]
    # 不同等级的权限 依次 验证  permission_classes = [userPermission,adminPermission]
    permission_classes = [MyPermission,]
 
    def get(self,request,*args,**kwargs):
        goods = Goods.objects.all()
        goods_serializer = GoodsSerializer(goods,many=True)
        return Response(goods_serializer.data)

    # 权限的错误提示信息

    def permission_denied(self, request, message=None):
        """
        If request is not permitted, determine what kind of exception to raise.
        """
        if request.authenticators and not request.successful_authenticator:
            raise exceptions.NotAuthenticated(detail='自定义信息')
        raise exceptions.PermissionDenied(detail=message)

DRF 权限的流程

原文:https://www.cnblogs.com/big-handsome-guy/p/8490448.html

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