源碼流程
- 和認(rèn)證的流程一樣迂求,進(jìn)入initial(request)
- 其中check_permissions(request)是權(quán)限的函數(shù)
- check_permissions中的has_permission()(要復(fù)寫)就是權(quán)限函數(shù)(get_permissions循環(huán)所有權(quán)限類)
- Permisson自定義權(quán)限類
has_permission自定義權(quán)限
True, 有權(quán)限
False, 無權(quán)限
其中message屬性為沒有權(quán)限返回的字符串
-
定義一個權(quán)限類
image.png 返回值
True, 有權(quán)訪問
False, 無權(quán)訪問全局使用
'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('用戶相關(guān)信息')