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",]
    }
  • 相关阅读:
    注册表修改 Devenv 默认启动 Visual Studio 版本
    python——高级特性(2)
    python——高级特性
    Hibernate—部分
    Filter—过滤器和拦截器的区别
    POST—常见的4种提交方式
    POST—GET—两种提交方式的区别
    JSON—fastJSON
    协程小示例
    协程基础
  • 原文地址:https://www.cnblogs.com/tuzaizi/p/13486846.html
Copyright © 2011-2022 走看看