zoukankan      html  css  js  c++  java
  • drf的权限扩充

    drf框架为我们提供了基本的权限验证。主要包括三种验证

      1、AllowAny  所有用户

      2、IsAuthenticated  验证过的用户

      3、IsAdminUser  超级管理员

    这些权限人员不一定满足项目的权限需求。那么如果我们想定义新的权限,需要继承BasePermission

    #定义新的权限
    class SVIPPermission(BasePermission):
        message = "必须是SVIP才能访问"
    
        def has_permission(self, request, view):
            if request.user.id != 1:
                return False
            return True

    使用新的权限

    #jwtapp/permisson

    #
    新权限的局部使用 class UserList(APIView): permission_classes = [SVIPPermission] # 接口中加权限 authentication_classes = [JSONWebTokenAuthentication] def get(self,request, *args, **kwargs): print(request.META.get('HTTP_AUTHORIZATION', None)) return Response({'name':'zhangsan'}) def post(self,request, *args, **kwargs): return Response({'name':'zhangsan'})
    #全局使用
    REST_FRAMEWORK = {
        'DEFAULT_AUTHENTICATION_CLASSES': (
                'rest_framework_jwt.authentication.JSONWebTokenAuthentication',
            'rest_framework.authentication.SessionAuthentication',
            'rest_framework.authentication.BasicAuthentication',
        ),
        'DEFAULT_PERMISSION_CLASSES': (
            'jwtapp.permisson.SVIPPermission',
         ),
    }    
  • 相关阅读:
    调用Android中的软键盘
    EditText图文混排
    android开源框架
    Android 菜单(OptionMenu)
    onRetainNonConfigurationInstance和getLastNonConfigurationInstance
    Android HttpClient基本使用方法
    Eclipse中文注释乱码解决
    mysql怎么定义外键
    javaproject积累——java 反射 invoke
    Floodlight 启动过程分析
  • 原文地址:https://www.cnblogs.com/ppzhang/p/12662573.html
Copyright © 2011-2022 走看看