rest_framework之权限源码剖析
2024-08-24 11:25:22
权限问题
1.models.py
2.用户类型:
3.views.py:
假设订单相关业务(只有SVIP用户有权限)
假设用户信息相关业务(只有普通用户、VIP有权限)
4.运行结果:
基本使用
以上的权限代码封装到一个类中,以后各个视图的get请求直接调用即可。不用每个类都写一遍权限。
自定义权限类: 需要找到has_permission方法
0.看源码:
1.
2.
3.复制源码has_permission方法
4.继续定义权限类:has_permission方法返回True表示有权访问。
5.定义好了权限类,局部使用。
局部权限
6.运行结果
7.再定义一个权限,除SVIP以外,其他用户都能访问。
8.将全权都放到另一个单独的文件中。
然后视图文件需要则引入。
views.py应用即可
以上的单视图应用。全局使用怎么办呢?
全局权限
1.权限源码流程:
还是到复制源码has_permission方法这一步骤
局部配置
permission.py
全局配置 settings.py
继续看源码:
每一个权限都有该方法 has_permission
如果返回Fasle,则执行报错,抛出异常。
抛出异常
默认英文报错
运行结果
如何改成中文报错信息呢?
运行结果
内置权限
1.内置权限源码流程
2.为了让我们的权限更正规,必须继承该内置权限。
最新文章
- 【腾讯bugly干货分享】HTML 5 视频直播一站式扫盲
- jQuery禁用或启用
- ajaxFileUpload上传文件没反应
- jQuery如何去判断页面是否有父页面?
- linux普通用户权限设置为超级用户权限方法、sudo不用登陆密码
- Python中map,filter,reduce,zip的应用
- 通过命令修改wampserver的mysql密码
- 调用ShellExecute所须要头文件
- Python的字符串格式化符号
- 2017多校第9场 HDU 6169 Senior PanⅡ 数论,DP,爆搜
- from sys import argv
- 彻底卸载注册表、流氓软件的工具Uninstall Tool
- Java开发笔记(四)Java帝国的度量衡
- TabLayout您可能不知道的实用用法
- 向github上提交自己的project
- [转载] Web Service工作原理及实例
- Windows 下面简单的同步文件夹工具
- [模仿微软Live.cn]JavaScript输入邮箱自动提示
- PHP的HashTable实现
- php juery ajax 传值