7

rbac多角色权限控制与不同角色独立分隔(如滴滴的司机端和乘客端)的区别,如何进行选...

 3 years ago
source link: https://www.pmcaff.com/discuss/2588485314220096?newwindow=1
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client
rbac多角色权限控制与不同角色独立分隔(如滴滴的司机端和乘客端)的区别,如何进行选择? - PMCAFF产品经理社区
保密 产品

听我的,上面这些都没好好回答你的问题。

RBAC(Role-Based Access Control),翻译过来就是基于角色的权限控制。涉及到3个点:

1、角色,系统里有多少个角色;比如你提到的司机和乘客,是2个角色;再进一步,那司机里是否有再细分,如快车司机,专车司机,出租车司机等细分角色;(角色不够用的时候,可能会衍生出来用户组,不深入讨论。)

2、权限控制,要控制哪些权限;根据实际的业务,系统提供给用户很多功能,比如基础通用的账户体系,资金账户,针对业务开发出来的抢单,接受预约,线下收款等等,其他衍生出来的如信贷消费类功能等等。这些功能,要给谁用呢,怎么授权给他们用呢?通过RBAC来控制吧。

3、RBAC,基于角色的权限控制。正常的场景:先在系统里设置角色,并将功能权限(和数据权限)配置给该角色,第三步,就是给用户加角色。另一种场景:是用户先有角色,我们在迭代中,升级了角色的权限,所有有该角色的用户,都将升级这种功能。比如我们针对专车司机,推出提供导游业务(上车后客户可以在线下单要求司机讲解本地的风土人情和出游攻略推荐),其他角色都不支持,那我们就可以在专车司机这个角色下,勾选上导游功能权限,所有专车司机用户都将有这个功能。

回过头来,RBAC和角色独立隔离,要选哪个呢?其实是基于业务考虑,

(1)系统有多角色;
(2)角色之间业务重叠比较高;
(3)角色权限变动比较频繁;

同时满足以上3点时,选用RBAC比较合适,如果不同时满足以上3点,直接角色独立隔离就可以。第1点不用说;第2点如果角色之间业务基本不重叠,多角色之间就独立了,相互之间的权限就自然分隔,比如你举例的司机和乘客,他们之间的功能角色权限相差还是蛮大(底层需求也差很多),要独立角色;第3点,角色权限变动频繁,像很多后台系统,OA系统,随着人事变动,经常要变更权限,这种用RBAC就比较好(另一种是2B,SAAS化产品-如有赞,开放性平台-如阿里云腾讯云,都要采用RBAC);而很多2C的产品,用户基本需求都一样,根据运营需求,存在用户分组的情况,这种一般就不用RBAC来实现,但是会用到用户组+权限来控制,比较简单。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK