关于 RBAC 模型经典 5 表中的 permission 表问题

2023-04-28 15:34:16 +08:00
 davidoff567

第一次接触 RBAC 模型,我想把权限控制细分到按钮级别,设计表的时候有 2 个问题查了半天,发现没有标准答案,想看看大家的思路。 1 、在给角色分配权限时,实际操作的仅仅是 [角色权限关联表] 吗? 2 、permission 表中的数据大家怎么对待的?主流做法是在表里维护一整套全量权限数据吗?

1280 次点击
所在节点    问与答
12 条回复
xxmaqzas
2023-04-28 16:40:18 +08:00
主流方案可以参考 ruoyi ,不满足需求自行扩展即可
renmu
2023-04-28 18:48:22 +08:00
对啊,给用户分配权限就可以了。

我们权限表数据是由前端添加的。
renmu
2023-04-28 18:50:35 +08:00
想要精确到按钮级别就会很麻烦,每个按钮都要去配置权限,可能还要配置使用的接口。
youngce
2023-04-28 18:57:03 +08:00
想要前端精确到菜单的话,建议单独搞一个 menu 表,可以配置 menu 与 permission ,前端只关心 menu 里面这个用户有那些按钮、侧边栏。

后端业务自己对过来请求和 permission 进行二次校验。
v2eb
2023-04-28 19:48:54 +08:00
角色关联权限
权限关联菜单
davidoff567
2023-04-28 22:21:53 +08:00
@renmu 前端添加 指的是允许用户(超级管理员)操作权限表数据吗?如果是的话 假设角色 A 和角色 B 同时拥有页面 C 的增删改查 4 个按钮权限,当角色 A 删除权限表内的所有页面 C 数据时,后端要先查出拥有整个权限的角色;新增 D 角色时 假如页面 C 的按钮权限数据被删干净了。以上的新增、删除例子 都会中断用户的操作吧,允许权限表数据被前端操作的话 会不会太灵活了?
davidoff567
2023-04-28 22:27:40 +08:00
@youngce menu 表和 permission 表 中的数据都应该是静态的吗?我刚才合计了一下,权限表数据似乎应该读配置文件来获取,而不是允许用户在页面上维护。拿新增、删除角色的场景举例子,角色大概率和权限表数据高度耦合,动一处会影响全局,我理解的对吗?
davidoff567
2023-04-28 22:31:21 +08:00
@v2eb 对 它们中间还有专门表达关联关系的表。你的意思是权限表后面再搞一个菜单表吗?权限表里面应该也能表达吧, 我这边现状是:用户表->用户角色关联表->角色表->角色权限关联表->权限表
v2eb
2023-04-29 00:02:37 +08:00
权限对应后台接口, 有菜单表, 对应每个页面。
hhjswf
2023-04-29 00:25:49 +08:00
权限表里包括了菜单,树级结构
miv
2023-04-29 00:37:04 +08:00
这玩意儿有什么标准答案?直接参考若依完事。
renmu
2023-04-29 06:26:46 +08:00
@davidoff567 a ,b 有按钮权限不代表有配置权限的权限,反正角色这玩意最后是交给运营自己配的。

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

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

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

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

© 2021 V2EX