@DataScope
作用:
一般写在service层的一些需要权限控制的业务方法上,针对部门和用户的权限,生成sql条件
dao层注入,实现数据权限的控制
位置:
common下的annotation包下
核心类:
DataScopeAspect
实现步骤:
设置切入点,@Before,任何加了该注解的方法
1.清空JoinPoint防止注入
2.安全框架中获取当前的用户信息,包括用户,部门,角色信息
3.判断是否管理员,非管理员进行处理
从注解获取权信息,进行过滤
遍历用户的role信息,添加权限
判断role的数据权限,生成sql条件append,or 。。。,添加到列表
添加到baseEntity的param
dao层 ${param.dataScope} 注入条件