django_restframework 权限验证

权限验证分为两种:

  一局部权限验证

  在View当中 添加验证类

class MyPermission(BasePermission):
    '''
    自己编写的权限类
    如果用户的user_type字段是1 那么返回False没有访问的权限
    '''
     def has_permission(self,request, view):
         message = "必须是VIP才能访问"
         if request.user.user_type == 1:
             #权限验证不通过
             return False
         #权限验证通过
         return True
class OrderView(APIView):
    #认证可以加多个  可以在加一个认证类 authentication_classes = [authtication,authtication1]
    # authentication_classes = [authtication]

    #权限验证
    permission_classes = [MyPermission,]
    def get(self,request,*args,**kwargs):
        self.dispatch()
        # print("用户",request.user)
        # print("**", request.auth)

        # 拿到数据库中的数据、做权限。如果不等于1 则无权访问
        print("***********:",request.user.user_type)


        ret = {"code":1000, "msg":None,"data":None}
        try:
            ret["data"] = ORDER_DICT
        except Exception as e:
            pass
        return JsonResponse(ret)

 

二 全局验证

  2.1 设置权限认证的位置 以及代码

  

 

2.2 setting当中设置全局视图都需要 进行权限

 

 

 

2.3 设置不需要权限设置的视图

 

posted on 2021-12-01 17:43  袁佳佳  阅读(67)  评论(0编辑  收藏  举报

导航