Day06 权限认证-数据权限
数据权限:对于同一类数据,拥有不同角色的用户看到的数据可能是不同的。
一共有五种数据范围(数据权限) :
(1)本人 : 只能看到自己创建的数据
(2)本级 : 只能看到本部门创建数据
(3)本级及子级 :可以看到本部门和本部门以下所有子部门的数据
(4)全部: 全部的数据,不筛选。
(5)自定义数据 : 当你选择自定义数据时,会让用户选择部门,该角色只可以看到这些部门创建的数据。
员工选择某个角色后,就拥有该角色的数据权限。 查询业务数据时就可以按照该数据权限所属范围进行筛选。
一、修改角色及其数据权限
二、读取数据控制
读取数据时自动拼接动态SQL原理:
1、例如在RetreatController的selectByPage方法配置@DataScope注解。
2、执行selectByPage方法时DataScopeAspect进行拦截,在该方法执行前执行@Before方法。
3、@Before方法通过JoinPoint参数获得retreatReqDto对象,由于retreatReqDto继承了BaseDto,所以可以在BaseDto的params字段存储动态SQL 条件,间接给retreatReqDt赋值params字段,然后selectByPage方法执行SQL时,SQL会动态读取params,拼接条件后再执行。
本人水平有限,有错的地方还请批评指正。
什么是精神内耗?
简单地说,就是心理戏太多,自己消耗自己。
所谓:
言未出,结局已演千百遍;
身未动,心中已过万重山;
行未果,假想灾难愁不展;
事已闭,过往仍在脑中演。