源码流程
- 和认证的流程一样,进入initial(request)
- 其中check_permissions(request)是权限的函数
- check_permissions中的has_permission()(要复写)就是权限函数(get_permissions循环所有权限类)
- Permisson自定义权限类
has_permission自定义权限
True, 有权限
False, 无权限
其中message属性为没有权限返回的字符串
-
定义一个权限类
image.png -
返回值
True, 有权访问
False, 无权访问 -
全局使用
'DEFAULT_PERMISSION_CLASSES': ['apps.api.utils.permisson.SVIPPermisson']
- 局部使用
class UserInfoView(APIView):
"""
用户信息
"""
permission_classes = [MyPermisson1, ]
def get(self, request, *args, **kwargs):
print(request.user)
return HttpResponse('用户相关信息')
网友评论