django-rest-framework权限验证

django-rest-framework权限验证

在项目根目录下新建utils的文件

  • 新建permissions.py
    from rest_framework.permissions import BasePermission
    
    
    class MyPermission(BasePermission):
      
        message = '必须用户id为1的人才能访问'
  
        def has_permission(self, request, view):
            if request.user.id != 1:
                return False
            return True
  • 自定义的权限验证类必须继承BasePermission, 且实现has_permission的成员方法
  • 返回为False表示不通过验证
  • 定义类变量message可以实现自定义错误信息返回

内置的权限验证类

  • AllowAny: 无限制
  • IsAuthenticated: 登陆用户开放
  • IsAdminUser: 只有is_staff为True的用户才开放
  • IsAuthenticatedOrReadOnly: 登陆的用户无限制,未登录的用户只读

猜你喜欢

转载自www.cnblogs.com/ivy-blogs/p/11650516.html