Django -权限权限的例子

  

<强>权限全局配置:

        REST_FRAMEWORK={   “DEFAULT_PERMISSION_CLASSES”:(   “rest_framework.permissions.IsAuthenticated”,   )   }      

权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。

  

在执行视图的调度()方法前,会先进行视图访问权限的判断

  

在通过get_object()获取具体对象时,会进行对象访问权限的判断

  

<>强如果不指定就用默认的配置:

        “DEFAULT_PERMISSION_CLASSES”:(   “rest_framework.permissions.AllowAny”,   )      

<>强自定义权限:

        从rest_framework。权限导入BasePermission   类MyPermission (BasePermission):   def has_object_permission(自我、请求、视图obj):   ”“”   控制对obj对象的访问权限,吃案例决绝对所有用户的访问   不能访问单一结果,但是可以访问列表结果   has_object_permission是否可以访问数据对象,查看表示当前视图,obj为数据对象   .has_permission(自我,请求,视图)是否可以访问视图,查看表示当前视图对象   ”“”   返回False      

<强>我们使用之前写的视图类进行验证:

        从rest_framework。权限导入IsAuthenticated   类BookInfoViewSet (mixins.ListModelMixin, mixins.RetrieveModelMixin GenericViewSet):   ”“”使用GenericViewSet实现返回列表和单一值“”“      #指定序列化器   serializer_class=BookInfoSerializer   #制定查询集   queryset=BookInfo.objects.all ()   # authentication_classes=[SessionAuthentication]   #登陆者的权限。是管理员还是普通用户是管理员可以访问还是普通用户可以访问   permission_classes=[IsAuthenticated MyPermission]      

<>强提供的权限

        AllowAny允许所有用户   IsAuthenticated仅通过认证的用户   IsAdminUser仅管理员用户   IsAuthenticatedOrReadOnly认证的用户可以完全操作,否则只能得到读取      

以上这篇Django -权限权限的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

Django -权限权限的例子