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

 

posted @ 2020-12-13 16:43  盲仔不瞎忙  阅读(260)  评论(0)    收藏  举报