在 RBAC 权限模型中,如果要设计一个能分配指定范围的角色的角色,数据库这边要怎么做

2019-11-06 21:47:49 +08:00
 tctc4869

如题,已经为项目设计基本的 RBAC 模块,即用户,角色,菜单,以及两个关系表。关于角色分配的问题,我现在还不想考虑将角色分配与部门这种树形结构数据进行绑定这种复杂的角色分配。目前还是在要保证安全和性能基础上的比较简便的设计。

我想增加一个比较特殊的角色,一个能为指定范围内的用户分配指定范围下的角色数据的角色。

这句话如果通俗的说明。那可以这样描述。例 1: 车间管理员角色,能够为用户分配班长,组长,职工角色。例 2:总监角色可以为用户分配技术经理角色,市场经理角色,生产经理等经理型角色。至于这些角色所能看到的用户数据范围,这个先不用考虑了。主要是考虑这些角色所能看到的能分配角色的数据范围

这种功能,如果不在后端语言那里修改(竟尽可能少的牵扯到后端语言),只从数据库的数据结构和 sql 查询语句上改,那么就基本 RBAC 模型上,哪个表要新增什么字段,或者要新建什么表。各位有什么思路和脑洞?或者有其他的兼顾性能与安全的 RBAC 模型简便设计思路吗?

1550 次点击
所在节点    数据库
2 条回复
fanfou
2019-11-07 07:10:29 +08:00
角色表加个 pid 做成树性结构,上级角色拥有所有子节点权限。分配角色的时候拉出当前登录角色的所有下属角色列表。
lllllliu
2019-11-07 11:20:41 +08:00
用户 角色(权限组) 权限, 你的菜单是权限,当然你的角色的功能也是权限,新增角色对于角色编辑的权限组就可以了呀。车间管理具有给用户设置班长,组长,职工这三个权限就可以了呗。具体还可以细分,跟你角色对于菜单一样。这里用户组也是个菜单。管理无权显示或者点击其他能设置的用户组就可以了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/617008

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX