zoukankan      html  css  js  c++  java
  • restframework的权限

     

      权限的主要应用比如指定的数据,vip用户或者付费才能观看的,普通用户不能访问,我们就可以用权限组件对其进行限制

    # 权限的都是发生在认证后面的,所以认证时要返回obj.user,权限判断的时候好直接获取用户

    from rest_framework.permissions import BasePermission
    class UserPermission(BasePermission):
        message = '不是vip用户,查看不了'
      # 定义message,后台访问就会显示定义的内容
    
        def has_permission(self, request, view):
            # user_type = request.user.get_user_type_display()
            # if user_type == '超级用户':
            user_type = request.user.user_type
            print(user_type)
            if user_type == 1:
                return True
            else:
                return False

    class Course(APIView): authentication_classes = [TokenAuth, ] permission_classes = [UserPermission,] def get(self, request): return HttpResponse('get') def post(self, request): return HttpResponse('post')

    和认证组件的使用差不多,通常我们会自定义py文件来单独写,作为模块导入使用

    也有局部使用和全局使用

    # 局部使用
        permission_classes = [UserPermission,]
    
    # 全局使用
        REST_FRAMEWORK={
        "DEFAULT_AUTHENTICATION_CLASSES":["app01.service.auth.Authentication",],
        "DEFAULT_PERMISSION_CLASSES":["app01.service.permissions.SVIPPermission",]
    }
  • 相关阅读:
    SPOJ ORDERSET
    BZOJ 1109: [POI2007]堆积木Klo
    BZOJ 1112: [POI2008]砖块Klo
    BZOJ 4144: [AMPPZ2014]Petrol
    BZOJ 4385: [POI2015]Wilcze doły
    BZOJ 1124: [POI2008]枪战Maf
    BZOJ 1123: [POI2008]BLO
    BZOJ 1121: [POI2008]激光发射器SZK
    BZOJ 1131: [POI2008]Sta
    BZOJ 4551: [Tjoi2016&Heoi2016]树
  • 原文地址:https://www.cnblogs.com/tuzaizi/p/13486846.html
Copyright © 2011-2022 走看看