多部门时,用户端数据权限应该怎么控制?

Blade 已结 2 614
gtfhao
gtfhao 2023-12-12 11:48

一、该问题的重现步骤是什么?

1. 现在架构是用的多部门多角色,要做上级查看下级的用户列表

2. 这种上级查看下级列表应该是典型的数据权限

3.请教下,这种多部门的应该怎么配置数据权限,指定到字段是dept_id, 可是这个字段里存的是多部门的id用逗号隔开的


二、你期待的结果是什么?实际看到的又是什么?

期待结果:数据权限支持多部门

实际结果:不知道如何配置多部门的数据权限

三、你正在使用的是什么产品,什么版本?在什么操作系统上?

3.1.0企业版 windows11

四、请提供详细的错误堆栈信息,这很重要。


五、若有更多详细信息,请在下面提供。

2条回答
  •  gtfhao
    gtfhao (楼主)
    2023-12-12 14:47

    1. 大哥,您理解错我意思了,如果是低级问题,我肯定知道,我不会打扰您的。

    2. 现在是blade_user表的数据,要拿dept_id这个字段进行数据权限过滤,登录时当然是一个部门一个角色了,可是登录者来user表过滤数据权限时,表中数据dept_id字段是用逗号分割开的多部门数据,这时,数据权限怎么配置呢?

    作者追问:2023-12-12 14:47

    目前框架的做法是检测到多部门(dept_id有多条)的情况,在登录界面会弹框,让用户选择一个部门登录,这样进去之后会选定对应的单个部门id。

    那查数据权限,在业务表也只查这单个部门id匹配的数据。

    目前还没有让用户登录后直接匹配自己所有部门数据的功能,这个对业务管理并不是很友好,所以还没有考虑开发

    回答: 2023-12-12 14:47

    1. 现在我们是做个员工管理,直接用的blade_user表,想对这个表的数据进行数据权限控制,可是用dept_id这个字段它里面存的是带逗号的多个部门id。

    2. 主要问这种场景,不是登录者登录后自己部门id的问题,部门切换角色切换后,登录者就是单部门单角色了,现在是拿着登录者的部门id去过滤员工表的数据,此时数据权限应该怎么做?

    作者追问:2023-12-12 14:47

    uesr表的dept_id是一个冗余字段,真正用到的是一个blade_user_dept表,做了一对多功能,可以借助这个表写in语句来过滤

    image.png

    回答: 2023-12-12 14:47

    - 好的,只能搞自定义数据权限了吧

    - 或者去修改下bladex-tool数据权限那块

    作者追问:2023-12-12 14:47

    是的,目前需要自行拓展一下

提交回复