RuoYi的数据权限实现以及注解的扩充说明
数据权限
数据权限和菜单权限不一样
菜单权限:
根据不同的性质的用户,显示不同的菜单。
数据权限:
设置权限,不同的用户只能访问本用户的数据,或者本部门的数据。当然对于特殊的领导可以跨部门访问数据。这些都是可以设置权限。
此代码的数据权限是基于若依框架,基于部门权限的简单数据权限设置。
/**/
1.在设置信息表时,添加一个字段部门id(dept_id bigint 20) ,这将作为数据过滤的条件。
2.在MyBaits中的Mapper文件中的select语句中添加(数据过滤范围)
3.在service层添加注解 (@DataScope)
/**
* 查询儿童信息列表
* U是儿童信息表的别名
* @param kinChildrenInfo 儿童信息
* @return 儿童信息
*
*/
@Override
@DataScope(deptAlias = "U")
public List<KinChildrenInfo> selectKinChildrenInfoList(KinChildrenInfo kinChildrenInfo)
{
return kinChildrenInfoMapper.selectKinChildrenInfoList(kinChildrenInfo);
}
解释
上述了过后已经实现了我需要的,基于部门的数据权限访问。
当然,这不能帮助我们弄清楚,具体的实现机制。
我们这时候就需要查看(**-framework\src\main\java\com\lianxin\framework\aspectj\DataScopeAspect.java)这个文件来帮助我们了解和学习实现的原理。
————————————————
原文链接:https://blog.csdn.net/qq_38842107/article/details/109906097