1、配置项目配置文件。
REST_FRAMEWORK = {
# SVIP才有权进行访问
"DEFAULT_PERMISSION_CLASSES":['api.utils.permission.SVIPPermission'],
}
2、权限校验。
class SVIPPermission(BasePermission):
message = "必须是SVIP才能访问"
def has_permission(self,request,view):
if request.user.user_type != 3:
return False
return True
class MyPermission(BasePermission):
message = "普通和vip能访问"
def has_permission(self,request,view):
if request.user.user_type in [1,2]:
return False
return True
3、view视图。
class UserInfoView(APIView):
"""
订单管理相关业务(SVIP)
"""
# 默认使用配置文件的SVIPPermission进行权限控制
def get(self,request,*args,**kwargs):
return HttpResponse('用户信息')
class UserInfoView(APIView):
"""
订单查询业务(VIP,普通用户)
"""
permission_classes = [MyPermission, ] # 复写权限认证控制
def get(self,request,*args,**kwargs):
return HttpResponse('用户信息')