权限全局配置:
REST_FRAMEWORK = { 'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.IsAuthenticated', ) }
权限控制可以限制用户对于视图的访问和对于具体数据对象的访问。
在执行视图的dispatch()方法前,会先进行视图访问权限的判断
在通过get_object()获取具体对象时,会进行对象访问权限的判断
如果不指定就用默认的配置:
'DEFAULT_PERMISSION_CLASSES': ( 'rest_framework.permissions.AllowAny', )
自定义权限:
from rest_framework.permissions import BasePermission class MyPermission(BasePermission): def has_object_permission(self, request, view, obj): """ 控制对obj对象的访问权限,吃案例决绝对所有用户的访问 不能访问单一结果,但是可以访问列表结果 has_object_permission是否可以访问数据对象, view表示当前视图, obj为数据对象 .has_permission(self, request, view)是否可以访问视图, view表示当前视图对象 """ return False
我们使用之前写的视图类进行验证:
from rest_framework.permissions import IsAuthenticated class BookInfoViewSet(mixins.ListModelMixin,mixins.RetrieveModelMixin,GenericViewSet): """使用GenericViewSet实现返回列表和单一值""" # 指定序列化器 serializer_class = BookInfoSerializer # 制定查询集 queryset = BookInfo.objects.all() # authentication_classes = [SessionAuthentication] # 登陆者的权限.是Admin还是普通用户 是admin可以访问还是普通用户可以访问 permission_classes = [IsAuthenticated,MyPermission]
提供的权限
AllowAny 允许所有用户 IsAuthenticated 仅通过认证的用户 IsAdminUser 仅管理员用户 IsAuthenticatedOrReadOnly 认证的用户可以完全操作,否则只能get读取
以上这篇Django--权限Permissions的例子就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
华山资源网 Design By www.eoogi.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
华山资源网 Design By www.eoogi.com
暂无评论...
更新日志
2024年11月15日
2024年11月15日
- faker大魔王称号怎么来的 faker大魔王称号来源介绍
- PS5 Pro上的蒂法更美了!博主盛赞新机1000%值得购买
- 腾讯互娱再离职一员大将!或因供应商贪腐
- Ayaneo3游戏掌机预热:旗舰定位、造型圆润自带底键
- 动力火车.1999-背叛情歌【上华】【WAV+CUE】
- 刘力扬.2019-Neon.Lit虹【摩登天空】【FLAC分轨】
- 群星.2002-恋爱物语情歌对唱精选2CD(引进版)【滚石】【WAV+CUE】
- 群星《闽南情24K德国HD金碟》2CD[WAV+CUE]
- 周传雄《恋人创世纪》环球唱片[WAV+CUE]
- 关淑怡-《真假情话K2HD》(日本压制)【WAV+CUE】
- 王菲 -《Faye Wong》雨果LPCD45 [WAV+分轨][1G]
- 陈百强《世纪10星·永恒篇》环球[WAV+CUE][1G]
- 陈奕迅《黑·白·灰》台湾版[WAV+CUE][400M]
- 张尕怂.2024-甘肃娃娃【FLAC分轨】
- 张惠妹.2011-A.MEI.ACOUSTIC.BEST.2CD【丰华】【WAV+CUE】