首页 新闻 会员 周边 捐助

管理后台的权限模块,一般是用角色去关联菜单,如果用户也直接关联菜单,合适吗?

0
悬赏园豆:20 [待解决问题]

管理后台的权限模块,一般是用角色去关联菜单,如果用户也直接关联菜单,合适吗?

典型的RBAC设计,是没有【用户-菜单】表的,用户不能直接和菜单关联。
产品为了让每个账号都有不同权限,想让 用户能直接和菜单关联,合适吗?扩展性如何,有什么潜在的问题?

如果用户不直接和菜单关联,用一般的经典方案,也是可以做到每个账号不同权限。只是需要不断为特殊账户新建角色。

待永的主页 待永 | 初学一级 | 园豆:5
提问于:2021-01-21 12:25
< >
分享
所有回答(8)
0

方案没有合不合适。业务场景决定了你使用什么样的技术范畴。
一般将角色作为权限的集合、然后角色赋予账号 是很普遍的做法。这种方案适合角色可共享多账户。
比如:包含 增删改查 角色。直接赋给一批人。大家都能用。如果要去除“删”。直接操作一次角色就好了

权限直接与账号关联。会导致每个人都要将权限操作一遍。
比如:多人有 增删改查 权限。你想要取消他们的“删” 权限。那么你要把这些人都操作一遍。

Ctrl` | 园豆:3317 (老鸟四级) | 2021-01-21 13:18
1

可以使用ACL(基于用户权限控制),
我们常用的是RBAC(基于角色权限控制),

但是ACL的设计模式有:
(1)用户和权限的关系比较臃肿
(2)不易于扩展和维护

熊泽-学习中的苦与乐 | 园豆:2272 (老鸟四级) | 2021-01-21 13:22
0

不合适,账号直接关联权限,扩展性肯定没有角色关联权限高
就像你写接口,不依赖与具体服务,依赖于上层接口,角色就类似于上层接口,你增加权限就只需要修改角色,而不用
具体修改每个账号

不知道风往哪儿吹 | 园豆:2037 (老鸟四级) | 2021-01-21 13:28
0

角色-资源关联表

资源包括菜单

楠木大叔 | 园豆:2083 (老鸟四级) | 2021-01-21 14:09
0

说说我之前在一家公司做的权限模块设计吧。 大致上是这样一种关系: 用户->角色->资源 。 先说一下"资源"的定义,我理解的“资源”就是对某个指定接口的访问权限。例如有一个登陆接口,只有A角色才运行登陆,因此是通过用户的唯一标识去查用户属于的一个或多个角色,再将角色所用的权限返回。 转换一下思路,其实"角色"就是一部分权限接口的"集合"。而题主你所谓的"关联菜单"其实包含了两种不同的“权限”:可视权限、访问权限;
可视权限是某些东西只有特定角色能"看",但是能看到不代表能执行,所以可视权限和访问权限应该分开,这里粒度够细才能实现各种业务需要的横向扩展。
你可以让用户直接关联菜单,把"角色"这一层级去掉后,只是在维护和管理上不方便,本质是没变的。

朝花不夕拾 | 园豆:402 (菜鸟二级) | 2021-01-21 14:20
0

我们公司设计的权限不但可以设置在角色上,也可以设置在用户上,这是一个继承的关系。
如有一个角色:客服,有二个用户A,B都是客服角色,这时候A,B都有了 客服的所有功能。
这时候还可以单独设置A有比B更多的功 能。这时候是合并的关系
当然也可以设置A比B更少的功能,就在用户A禁用从客服继承过来的功能。。

为乐而来 | 园豆:1432 (小虾三级) | 2021-01-21 16:00
0

看你的业务需不需要区分的那么详细了

风行天下12 | 园豆:3867 (老鸟四级) | 2021-01-21 18:22
0

主要看你的业务是不是需要,需要的话是可以实现的;

diudiu1 | 园豆:1033 (小虾三级) | 2021-01-21 18:35
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册