一、该问题的重现步骤是什么?
1. 我已经通过了create_dept 实现上层部门的人看到所有数据,下层部门的人看到部分数据,我现在希望实现的效果是,上层部门的人帮下级部门创建了数据,下级怎样才能看到呢,ai的回答是给数据添加所属部门的id,但是这无疑要求所有的新增都要指定数据的所属部门,好像有点不现实
2. 我希望指定某些用户只能看到指定的表里面的数据,或者反过来操作,指定用户看不到指定的表的数据,请问有没有什么实现思路
3.
二、你期待的结果是什么?实际看到的又是什么?
我希望实现的效果是,上层部门的人帮下级部门创建了数据,在有create_dept拦截的情况下,下级也可以看到
我希望指定某些用户只能看到指定的表里面的数据,或者反过来操作,指定用户看不到指定的表的数据
三、你正在使用的是什么产品,什么版本?在什么操作系统上?
bladex 4.0.0
四、请提供详细的错误堆栈信息,这很重要。
五、若有更多详细信息,请在下面提供。
这个目前实现不了,因为两个范围逻辑冲突了。
比如原版的数据权限到最后条件是 where create_dept = 1
你现在需要在这个条件上增加一个条件让不在此范围内的用户看到数据就会变成 where create_dept = 1 and create_dept = 2 ,或者 where create_dept = 1 or create_dept = 2,这样两种情况都会让数据范围发生意义上的改变,所以是会冲突的。
解决方案就是你在原本有数据权限的基础上,修改成一个自定义数据权限,在你现有的数据权限内拓展加你需要的条件,把这个 create_dept = 1 的条件通过if条件隐藏掉,或者叠加到or里,这样才能让其他范围的用户看到你所划分的范围。
扫一扫访问 Blade技术社区 移动端