from rest_framework.permissions import BasePermission
class CustomPermission(BasePermission):
def has_permission(self, request, view):
- 权限模块工作原理
1)继承BasePermission类,重写has_permission方法
2)权限规则(has_permission方法实现体):
返回True,代表有权限
返回False,代表无权限
- request.user : 认证模块传递过来的user对象
- request.auth : 认证模块传递过来的token
return request.user and request.user.is_superuser - 超级用户才准看
REST_FRAMEWORK = {
# 权限模块
'DEFAULT_PERMISSION_CLASSES': [
- 所有的权限都有
'rest_framework.permissions.AllowAny',
- 所有权限都没有
'rest_framework.permissions.IsAuthenticated',
- 自定义权限类
'utils.custom_permission.CustomPermission'
],
}