用户权限设计原理RBAC模型
以上两个权限设计案例,都使用了RBAC(Role-Based Access Control)模型,也是目前B端业务系统权限功能设计普遍使用的设计模型。
RBAC模型指的是基于角色的访问控制。具体而言,就是用户通过角色与权限进行关联。通过引入角色,提高用户分配权限效率。RBAC模型由用户、角色和权限组成。一般而言,用户和角色是多对一关系,角色和权限是一对多的关系,如下图所示。
图:RBAC模型及对应关系示意
用户是指参与系统活动的主体 。
角色指的是特定权限的集合,如蓝湖权限角色超级管理员、编辑者和查看者,每个角色是被赋予了权限的集合体。
而权限则是角色对页面、模块的具体功能操作和数据权限等,是具体的权限项,如编辑者可编辑画布、管理设计图、批注。
权限具体会包含页面权限、功能操作权限和数据权限。
页面权限是指只有特定用户才有权限访问的页面,例如财务可以查看公司的财务报表,而运维人员不可以。
功能操作权限,就是用户对页面或模块具有的增删改查等权限,比如蓝湖项目文档,只有项目超级管理员、管理员可以修改文档,研发是不可以修改的。
而数据权限,就是用户可查看哪些数据。比如集团企业老板可以看到集团下各分公司的全部销售数据,而分公司的总经理只能看到自己所在分公司的销售数据,其他分公司的销售数据是看不到的。
此外,为了解决更复杂的权限业务逻辑,RBAC模型也在不断升级。
RBAC高级设计模型一:在角色中引入继承关系,把角色分成几个等级,每个等级权限不同,实现更细颗粒度的权限管理。
RBAC高级设计模型二:增加用户组,管理员直接给用户组分配角色,再把用户加入到用户组,可以批量给更多用户赋予同一角色的权限,用户除了拥有自身的权限外,还拥有所属用户组的所有权限。
总结
本文主要围绕B端业务系统的功能共性-用户权限,通过两个权限设计案例,介绍了如何在复杂权限逻辑下提升交互体验的方法。总结了12点设计心得,帮助大家在做用户权限体验设计时,有一些帮助和启发。
- 将复杂的权限逻辑转移给系统解决,让用户设置权限更简单。
- 从用户主要场景出发,提供权限默认首选项。
- 针对交互流程繁琐,回到目标用户的需求场景,缩短交互步骤,合并重复流程,控制在三步内完成用户任务。
- 权限项数量有限的情况下,权限项设置采用列表平铺展示,一目了然,找服务资源效率更高。
- 通过用户场景故事找到设计目标。
- 可通过对比设计模型和用户心智模型是否匹配,挖掘并验证用户痛点。
- 围绕用户需求场景(问题),不断拆解设计目标到具体的任务行为节点,思考交互设计机会点,以解决问题。
- 权限体验设计需要深入理解具体业务的权限逻辑和用户需求场景。
- 给用户设置权限需要考虑去重处理,如果有重复,取并集。
- 权限是集合关系。
- 权限颗粒度尽可能更小。
- 基于角色访问控制RBAC模型(Role-Based Access Control)进行权限功能设计,引入角色,结合具体业务,把角色分成等级或引入用户组,提高目标用户分配权限效率。