zoukankan      html  css  js  c++  java
  • Restframework 权限permission 组件实例-2

    1.在视图类里添加权限组件

    class BookView(APIView):
        authentication_classes = [UserAuth]
        permission_classes = [SVIPPermission]
    
        def get(self,request):
            """
            查看所有书籍
            :param request:
            :return:
            """
            book_list=Book.objects.all()
            serializer= BookSerializer(book_list,many=True)
            return Response(serializer.data)
    
        def post(self,request):
            """
            添加一条书籍
            :param request:
            :return:
            """
            serializer=BookSerializer(data=request.data,many=True)
            if serializer.is_valid():
                serializer.save()#create操作.
                return Response(serializer.data)
            else:
                return Response(serializer.errors)

    2.设置权限类

    from rest_framework.permissions import AllowAny
    
    class SVIPPermission(object):
        message="您没有权限访问该资源"
        def has_permission(self,request,view):
            if request.user.user_type>=1:
                return True
            return False

    3. 设置全局类权限

    REST_FRAMEWORK={
    
    'DEFAULT_AUTHENTICATION_CLASSES': (
      'app01.utils.auth_class.UserAuth',
    ),
        'DEFAULT_PERMISSION_CLASSES': (
            'app01.utils.svippermission.SVIPPermission',
        ),
    
    }

    4.查看效果

     

  • 相关阅读:
    angular2 如何使用animate实现动画效果
    angular2+ 组件中用@import进来的css不起作用
    ReentrantLock & AQS
    常用JDK命令
    分布式缓存
    持续交付
    持续部署
    持续集成
    领域驱动设计简介
    spring boot 整合JPA bean注入失败
  • 原文地址:https://www.cnblogs.com/mengbin0546/p/9683274.html
Copyright © 2011-2022 走看看