若依注解学习(二)@DataScope

@DataScope

作用:

一般写在service层的一些需要权限控制的业务方法上,针对部门和用户的权限,生成sql条件

dao层注入,实现数据权限的控制

位置:

common下的annotation包下

核心类:

DataScopeAspect

实现步骤:

设置切入点,@Before,任何加了该注解的方法

1.清空JoinPoint防止注入

2.安全框架中获取当前的用户信息,包括用户,部门,角色信息

3.判断是否管理员,非管理员进行处理

从注解获取权信息,进行过滤

遍历用户的role信息,添加权限

判断role的数据权限,生成sql条件append,or 。。。,添加到列表

添加到baseEntity的param

dao层 ${param.dataScope} 注入条件

相关推荐
亦暖筑序7 分钟前
AgentScope-Java 入门:用 Middleware 审计 Agent 调用
java·ai编程·agentscope
shylyly_16 分钟前
C++中的类型转换
开发语言·c++·匿名对象·隐式类型转换·拷贝优化
你驴我18 分钟前
WhatsApp 消息撤回与编辑的幂等性设计实践
java·服务器·前端·后端·python
北冥you鱼1 小时前
Go 语言新手扫盲:指针 * 和 & 使用场景详解
开发语言·后端·golang
cui_ruicheng1 小时前
Python数据分析(一):数据分析概述与环境搭建
开发语言·python·数据分析
青山木1 小时前
Hot 100 ---腐烂的橘子
java·数据结构·后端·算法·leetcode·广度优先
心平气和量大福大1 小时前
C#-WPF-UserControl-生命周期(加载 退出)
开发语言·c#·wpf
小龙报1 小时前
【优选算法】1. 水果成蓝 2.找到字符串中所有字母的异位词
java·c语言·数据结构·数据库·c++·redis·算法
sunywz1 小时前
【c#】 Web Deploy一键发布,IIS部署全流程
开发语言·前端·c#
正经人_x1 小时前
学习日记42
学习