若依注解学习(二)@DataScope

@DataScope

作用:

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

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

位置:

common下的annotation包下

核心类:

DataScopeAspect

实现步骤:

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

1.清空JoinPoint防止注入

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

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

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

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

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

添加到baseEntity的param

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

相关推荐
浪兎兎11 小时前
【Java Web】Servlet + JSP 笔记
java·前端·servlet
「QT(C++)开发工程师」11 小时前
C++ std::move 详解
开发语言·c++
matlab代码11 小时前
基于matlab的玉米种子计数设计(GUI界面)【源码58期】
开发语言·matlab
c#上位机11 小时前
C#上位机项目实战——C#的dll项目编译时拷贝到指定目录下
开发语言·c#
吴声子夜歌11 小时前
Java面试——ElasticSearch原理及应用
java·面试·es
Littlehero_12111 小时前
QT自定义控件之内嵌报表(4)(源码开源)
开发语言·qt
lhldsg11 小时前
家政派单系统开发实战:从需求分析到智能调度全流程指南
java·junit·小程序·uni-app·需求分析
吴声子夜歌11 小时前
Java面试——Spring原理及应用(一)
java·spring·面试
灰阳阳11 小时前
Docker-数据卷命令解析
java·docker·eureka
晓晓_za89866811 小时前
开源 GEO 优化源码二次开发:贴牌改造与业务模块扩展实践
java·运维·服务器·开发语言·性能优化·开源