drf权限【示例】

news/2024/9/18 9:10:03/文章来源:https://www.cnblogs.com/cloud-2-jane/p/18415909

1.示例

from rest_framework.permissions import BasePermission
from django.conf import settingsclass RbacPermission(BasePermission):message = "无权访问"def has_permission(self, request, view):# 1.当前用户的角色user_role = request.user.role# 2.当前用户=角色拥有的所有权限# {#     "user-list": ["get", 'post'],#     "user-detail": ["get", 'post', 'put', 'delete'],# }user_total_permissions = settings.PERMISSIONS[user_role]# 3.当前用户请求的路由信息router_name = request.resolver_match.view_namemethod = request.method.lower()method_list = user_total_permissions.get(router_name)if not method_list:return Falseif method not in method_list:return Falsereturn True

2.全局应用
全局应用全局应用权限组件,login路由中设置authentication_classes = []

REST_FRAMEWORK = {"UNAUTHENTICATED_USER": None,"UNAUTHENTICATED_TOKEN": None,"DEFAULT_AUTHENTICATION_CLASSES": ["utils.auth.RbacAuthentication"],"DEFAULT_PERMISSION_CLASSES": ["utils.permission.RbacPermission"],"EXCEPTION_HANDLER": "utils.view.exception_handler"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/797910.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正式发售!《黑神话:悟空》背后的技术力量——UE5与实时云渲染

《黑神话:悟空》终于在8月20号正式发售,相信大家都已经玩起来了!作为国产游戏的画质巅峰之作,《黑神话:悟空》凭借其令人叹为观止的画面质量和游戏体验,赢得了广泛的好评.这一切都离不开游戏背后的强大技术支持——虚幻引擎5(UE5).千呼万唤始出来,《黑神话:悟空》终于在今年…

[JS] ES Modules的运作原理

本文介绍了 ES Modules (ESM) 在浏览器环境中的运行原理,详细阐述了 ESM 的三大加载步骤:构建、实例化、求值,并讨论了其动态加载能力、循环依赖处理方式及与 CommonJS 的区别。ESM 通过 import 语句引入其它依赖,通过 export 语句导出模块成员。 在浏览器环境中,<scri…

Go runtime 调度器精讲(八):sysmon 线程和 goroutine 运行时间过长的抢占

原创文章,欢迎转载,转载请注明出处,谢谢。0. 前言 在 Go runtime 调度器精讲(七):案例分析 一文我们介绍了一个抢占的案例。从案例分析抢占的实现,并未涉及到源码层面。本文将继续从源码入手,看 Go runtime 调度器是如何实现抢占逻辑的。 1. sysmon 线程 还记得 Go run…

Go runtime 调度器精讲(八):sysmon 线程和运行时间过长的抢占

原创文章,欢迎转载,转载请注明出处,谢谢。0. 前言 在 Go runtime 调度器精讲(七):案例分析 一文我们介绍了一个抢占的案例。从案例分析抢占的实现,并未涉及到源码层面。本文将继续从源码入手,看 Go runtime 调度器是如何实现抢占逻辑的。 1. sysmon 线程 还记得 Go run…

usb协议

1 USB 信号编码 USB 传输的编码就是 NRZI 格式,在 USB 中,电平翻转代表逻辑 0,电平不变代表逻辑1:翻转的信号本身可以作为一种通知机制,可以看到,即使把 NRZI 的波形完全翻转,所代表的数据序列还是一样的,对于像 USB 这种通过差分线来传输的信号方便。

引入语义标签过滤:利用标签相似度增强检索

引入语义标签过滤:利用标签相似度 增强检索 传统的标签搜索缺乏灵活性。如果我们要过滤恰好包含给定标签的样本,可能会出现这样的情况,特别是对于只包含几千个样本的数据库, 可能没有任何(或只有少数)与我们的查询匹配的样本。两种搜索的不同之处在于搜索结果的稀缺性 传统的…

娄涵格第一次作业

这个作业属于哪个课程 https://edu.cnblogs.com/campus/zjlg/rjjc这个作业的目标 介绍自己。自我评估,期待在课程收获什么,担当什么样的角色姓名-学号 娄涵格-2022329301112自我介绍 1、基本信息 大家好,我的名字是娄涵格,来自浙江台州,目前是浙江理工大学22电气工程及其自…

踩坑日志3:每一个epoch都会重新随机采样,固定batch容易使模型陷入局部解

前几天师弟在机器学习领域看到了一个对样本选择的方法,目的是从特征的角度均匀选择样本。如下图所示,首先初始化将样本的特征进行加和并归一化,迭代取出样本(取值最大的那个样本,再令样本的值乘以1-样本的值更新所有样本)。这般便可以从理论上均匀的取到不同分布的样本,…

动态规划——数学模型精解

动态规划是运筹学的一个分支,主要用于求解多阶段决策过程的优化问题。1950年代初,R.E. Bellman提出了最优性原理,将复杂的多阶段问题分解为一系列单阶段问题逐步求解,开创了动态规划这一方法。1957年,他出版了《Dynamic Programming》,成为该领域的经典著作。动态规划自问…

C#实现系统登录

1, 新建窗口frm_Loginusing System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Forms;namespace WindowsFormsA…

深度学习(FCN)

FCN是全卷积网络,用于做图像语义分割。通常将一般卷积网络最后的全连接层换成上采样或者反卷积网络,对图像的每个像素做分类,从而完成图像分割任务。 网络结构如下:这里并没有完全按照原始网络结构实现,而是尝试upsample和convTranspose2d结合的方式,看看有什么效果。 下…