Django drf权限使用

2019-02-27  本文已影响0人  Ginta

源码流程

  1. 和认证的流程一样,进入initial(request)
  2. 其中check_permissions(request)是权限的函数
  3. check_permissions中的has_permission()(要复写)就是权限函数(get_permissions循环所有权限类)
  4. Permisson自定义权限类
    has_permission自定义权限
    True, 有权限
    False, 无权限
    其中message属性为没有权限返回的字符串
  1. 定义一个权限类


    image.png
  2. 返回值
    True, 有权访问
    False, 无权访问

  3. 全局使用

'DEFAULT_PERMISSION_CLASSES': ['apps.api.utils.permisson.SVIPPermisson']
  1. 局部使用
class UserInfoView(APIView):
    """
    用户信息
    """
    permission_classes = [MyPermisson1, ]
    def get(self, request, *args, **kwargs):
        print(request.user)
        return HttpResponse('用户相关信息')
上一篇下一篇

猜你喜欢

热点阅读