衡量B端产品系统好坏的一个重要标准就是它的权限是否细致,拓展性是否强。
权限管理是B端产品系统的基础,好的权限管理系统延展性较强,即使业务发生变化也能避免大改和推倒重建。
权限分类
1、功能权限
功能权限是指用户登录系统之后,可以看到哪些模块,可以操作哪些按钮 。企业中的员工因为角色不同,看到的业务模块和操作的功能权限也不相同。
以常见的CRM系统举例,由于销售人员和财务人员的职能不同,那每个人看到的业务模块也不相同,哪怕同样是财务人员,因为职级高低的不同,操作按钮的权限也不尽相同。
1.1 RBAC模型
功能权限一般通过RBAC模型来实现。RBAC是一套成熟的权限模型。在传统的权限模型中,我们一般直接把权限赋予用户,而在而在RBAC中,增加了“角色”的概念,我们首先把权限赋予角色,再把角色赋予用户。这样,由于增加了角色,授权会更加灵活方便。
在RBAC中,根据权限的复杂程度,又可分为RBAC0、RBAC1、RBAC2、RBAC3。其中,RBAC0是基础,RBAC1、RBAC2、RBAC3都是以RBAC0为基础的升级。
RBAC0,这是RBAC的初始形态,也是最原始、最简单的RBAC版本;
RBAC1,基于RBAC0的优化,增加了角色的分层(即:子角色),子角色可以继承父角色的所有权限;
RBAC2,基于RBAC0的另一种优化,增加了对角色的一些限制:角色互斥、角色容量等;
RBAC3,最复杂也是最全面的RBAC模型,它在RBAC0的基础上,将RBAC1和RBAC2中的优化部分进行了整合;
RABC的好处
职能划分更谨慎。对于角色的权限调整不仅仅只影响单个用户,而是会影响关联此角色的所有用户,管理员下发/回收权限会更为谨慎;
便于权限管理。对于批量的用户权限调整,只需调整用户关联的角色权限即可,无需对每一个用户都进行权限调整,既大幅提升权限调整的效率,又降低漏调权限的概率;
1.2 用户-角色-权限
这种权限体系其实就是RBAC0的模式了。这里面又包含了2种:
用户和角色是多对一关系,即:一个用户只充当一种角色,一种角色可以有多个用户担当;
用户和角色是多对多关系,即:一个用户可同时充当好几种角色,一种角色可以有多个用户担当;
如上图:对于左边的用户-角色对应,每个人只能同时拥有一种角色,但是同一个角色里边,可能会含有多个用户(如:李四和王麻子都是业务员);而右边的用户-角色对应,是在左边的基础上,增加了一个用户可拥有多种角色的情况(如:小马哥既是经理,这个经理是管理职,不是销售经理哈,否则出现自己签订合同自己审核的情况,也要负责财务的工作);
那么,什么时候该使用多对一的权限体系,什么时候又该使用多对多的权限体系呢?
我的建议是:尽量可能地使用多对多的权限体系。如果这个系统的功能比较单一、使用人员较少、岗位权限相对清晰且不会出现兼岗的情况,这种情况也可以考虑用多对一的权限体系。
2、数据权限
很多企业对数据的私密性有要求,比如催收系统,催收员只能看到属于自己的那一部分催收订单,而催收组长可以看到自己组下面所有催收员的催收订单。
这个时候就需要通过组织架构来对数据进行权限上的控制。如下图:
在“用户-角色-权限”的基础上,我们增加了用户与组织的关联关系,组织决定了用户的数据可视权限。但要想真正达到这个效果,我们还需要做2件事:
组织层级划分。如下图,我们需要对组织进行梳理,并划分层级;
数据可视权限规则制定。比如:上级组织职能看到下级组织员工负责的数据,而不能看到其他平级组织及其下级组织的员工数据等。(比如上面举的催收员的例子)
通过以上两点,系统就可以在用户登录时,自动判断要给用户展示哪些数据了。
做好功能权限和数据权限,整个权限体系就搭建的差不多了,后期也有较强的拓展性。
如果想系统的学习B端产品知识,可点击:手把手教你做B端产品经理
此外,我建立了各大城市交流群,想入群的小伙伴可加微信:chanpin628 我拉你进群。
视频号推荐
关注微信公众号:产品刘 可领取大礼包一份。
··················END··················
今日报告:艾瑞咨询 发布《2023年H1中国移动互联网流量半年报告》,下载报告去公众号:硬核刘大 后台回复“ 移动互联网流量”,即可下载完整PDF文件。
申明:报告版权归 艾瑞咨询 所有,此处仅限分享学习使用,如有侵权,请联系小编做删除处理。
RECOMMEND
推荐阅读
送一门价值665的课和15万字的电子书
手把手教你打造个人IP
线下实战2.0
面试中回答离职原因的万能公式
点击“阅读原文”
查看更多干货