zoukankan      html  css  js  c++  java
  • Rest_Framework--permissions

    权限组件
    权限组件和认证组件一样,都是用了相同的模式,全局和局部
    由BasePermission类给我提供接口 接口函数为 has_permission  以及 has_object_permission
    有权限返回True 没有则返回False,默认的权限类为如下
    from rest_framework.permissions import BasePermission 
    # 允许任何人访问
    class AllowAny(BasePermission):
        """
        Allow any access.
        This isn't strictly required, since you could use an empty
        permission_classes list, but it's useful because it makes the intention
        more explicit.
        """
    
        def has_permission(self, request, view):
            return True
    还封装了一些权限类,只允许admin用户访问的权限,只给认证的用户权限等等,请走源码........
     
    使用示例
    service.permissions.py:
    from rest_framework.permissions import BasePermission
    
    class SvipPermissions(BasePermission):
        message="您没有权限,只有Svip用户才可以访问" #源码规定如果你定义message即没有权限提示,否则就用默认的None
        def has_permission(self,request,abc):#这个abc参数名没有什么要求,只是源码中有两个参数,这里也要有两个参数
            if request.user.user_type==3:
                return True
            else:
                return False

  • 相关阅读:
    杂题
    [ AtCoder Grand Contest 031] C
    [ AtCoder Regular Contest 107 ] C
    [ 实验舱 CSP/NOIP新赛制内部挑战赛4 ] 树上询问
    [ 2020牛客NOIP赛前集训营-提高组(第六场) ] 补题
    [NOI Online #2 提高组]子序列问题
    洛谷P4317 花神的数论题
    [AHOI2009]同类分布
    洛谷P3413 SAC#1
    数位dp小结
  • 原文地址:https://www.cnblogs.com/absoluteli/p/14129064.html
Copyright © 2011-2022 走看看