若依注解学习(二)@DataScope

@DataScope

作用:

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

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

位置:

common下的annotation包下

核心类:

DataScopeAspect

实现步骤:

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

1.清空JoinPoint防止注入

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

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

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

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

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

添加到baseEntity的param

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

相关推荐
weixin_4462608515 小时前
FastF1: 轻松获取和分析F1数据的Python包
开发语言·python
高山上有一只小老虎15 小时前
小红背单词
java·算法
Cosmoshhhyyy15 小时前
《Effective Java》解读第26条:请不要使用原生态类型
java·开发语言
郝学胜-神的一滴15 小时前
Linux下创建线程:从入门到实践
linux·服务器·开发语言·c++·程序人生·软件工程
山土成旧客15 小时前
【Python学习打卡-Day22】启航Kaggle:从路径管理到独立项目研究的全方位指南
开发语言·python·学习
我命由我1234515 小时前
Python Flask 开发 - Flask 路径参数类型(string、int、float、path、uuid)
服务器·开发语言·后端·python·flask·学习方法·python3.11
QiZhang | UESTC15 小时前
学习日记day50
学习
永远都不秃头的程序员(互关)16 小时前
C++核心语法复盘:数据结构编程的底层基石
开发语言
阿杆.16 小时前
如何在 Spring Boot 中接入 Amazon ElastiCache
java·spring boot·后端
别惹CC16 小时前
Spring AI 进阶之路04:集成 SearXNG 实现联网搜索
java·后端·spring