若依注解学习(二)@DataScope

@DataScope

作用:

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

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

位置:

common下的annotation包下

核心类:

DataScopeAspect

实现步骤:

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

1.清空JoinPoint防止注入

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

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

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

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

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

添加到baseEntity的param

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

相关推荐
NE_STOP12 小时前
MyBatis-配置文件解读及MyBatis为何不用编写Mapper接口的实现类
java
后端AI实验室16 小时前
用AI写代码,我差点把漏洞发上线:血泪总结的10个教训
java·ai
程序员清风18 小时前
小红书二面:Spring Boot的单例模式是如何实现的?
java·后端·面试
belhomme18 小时前
(面试题)Redis实现 IP 维度滑动窗口限流实践
java·面试
Be_Better19 小时前
学会与虚拟机对话---ASM
java
开源之眼21 小时前
《github star 加星 Taimili.com 艾米莉 》为什么Java里面,Service 层不直接返回 Result 对象?
java·后端·github
Maori3161 天前
放弃 SDKMAN!在 Garuda Linux + Fish 环境下的优雅 Java 管理指南
java
用户908324602731 天前
Spring AI 1.1.2 + Neo4j:用知识图谱增强 RAG 检索(上篇:图谱构建)
java·spring boot
小王和八蛋1 天前
DecimalFormat 与 BigDecimal
java·后端
beata1 天前
Java基础-16:Java内置锁的四种状态及其转换机制详解-从无锁到重量级锁的进化与优化指南
java·后端