美文网首页Django入门开发实战
Rest-Framework之权限组件

Rest-Framework之权限组件

作者: 乔治大叔 | 来源:发表于2019-03-05 20:40 被阅读41次

    所谓的权限就是只用超级用户才能访问指定的数据,普通用户不能访问,所以就要有权限组件对其限制。

    一、局部使用

    from rest_framework.permissions import BasePermission
    class UserPermission(BasePermission):
        message = '不是超级用户,查看不了'
        def has_permission(self, request, view):
            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')
    

    局部使用只需要在视图类里加入:

    permission_classes = [UserPermission,]

    二、全局使用

    REST_FRAMEWORK={
        "DEFAULT_AUTHENTICATION_CLASSES":["app01.service.auth.Authentication",],
        "DEFAULT_PERMISSION_CLASSES":["app01.service.permissions.SVIPPermission",]
    }
    

    总结

    权限类使用顺序:先用视图类中的权限类,再用settings里配置的权限类,最后用默认的权限类

    相关文章

      网友评论

        本文标题:Rest-Framework之权限组件

        本文链接:https://www.haomeiwen.com/subject/dvhauqtx.html