我们的目的是在若依后台将角色数据权限设定为进本人数据权限时候,仅能看到本人的数据,设定为本部门的数据时候,仅能看到本部门的数据
使用若依自带的权限管理系统,设计的表里面必须有dept_id和user_id的字段
我们在创建自己的数据库表时加上这两个字段
user_id bigint(20) COMMENT '用户编号',
dept_id bigint(20) COMMENT '部门编号',
若依自动生成的代码中,在添加数据的时候,dept_id和user_id并不会自动填充,所以我们需要进入相应的Controller类中,在新增保存的模块下添加相应的代码,实现在每次添加数据的时候,部门编号和用户编号都会自动填充。
这个类是我们用过系统工具-代码生成得到的代码对应的类
找到对应的Mapper页面,进入后找到selectList部分,先在你的表后面加一个别名
然后再末尾加上
${params.dataScope}
在service下的impl包中找到你对应的实现类,找到查询列表的方法,在顶部添加
@DataScope(deptAlias = "a" , userAlias = "a")
你给表设置的别名是什么这里就是什么
我们回到若依后台
需要给设置数据隔离对应的用户分配部门,并且给他设置角色,角色下设置的数据权限才会生效