赞助商
立即赞助

网易高手:角色权限设计的100种解法

交互设计3年前 (2021)发布 流光
2.4K 0 0

网易UEDC – 蒋蕊遥 :文章结合自己的几次权限设计经历,提供些所谓经验套路,希望各位设计师从此微笑迎接权限需求。

一、令人头疼的权限设计

设计师在进设计时,常常会抽象出品有诉求多个色,再依据色特性去梳理使用场景并设计。

当角之间的使用场不冲突,不需要隔离时,我们综合考虑角的使用场来设计决方案。比:网易云音乐同时为需要听歌和听电台的用户,提供所有的功能。

网易高手:角色权限设计的100种解法

当角的使用场完不重叠、流程对立时,我们设计完独立的两套系统,滴滴的司机端和乘客端。

网易高手:角色权限设计的100种解法

但除以上两种情况,在大数 B 端产品中,基流程正、信息安等因素考虑,各个角的使用场是部分通用,部分隔离的,时就需要引「权系统」。

网易高手:角色权限设计的100种解法

设计师有时对角权系统有一丝畏难情绪。

  • 为色权限系统配作为个常后台管理功能,在竞品调研过程很难过上帝视去解剖其逻辑,自己琢磨又较难透彻;
  • 另一方面对角权系统,做并不能代表设计能力有优,但一旦没做就导致整个流程不通、产品崩溃。所以设计师常对权系统望而却步。

以下笔者几权限设计经历,提供些所谓经验套路。

二、基于技术模型进行设计-RBAC模型

进设计前,最好能够理解技术模型。在业界接受度较高功能权限模型是 RBAC(Role-Based Access Control)模型,其基本理念是将「色」这个概念赋予用户,在系统用户与权限过色进关联,以这样法来实现灵活配。以下模型与设计相关几做下简单介绍。

1. 基本RBAC模型

如没有色概念,系统加入个用户,需要为这个用户配遍权限,下图是 wiki 接为用户权限管理,可以看出管理成本巨大。

网易高手:角色权限设计的100种解法

而引入「色」概念后,如下图即是 RBAC 模型最基本模型:用户与色可为多或多多关系,个用户色为多多时,前用户权限是多个色并。

网易高手:角色权限设计的100种解法

此时需要为色赋予权限,能够大大减轻管理负担,时将用户与权限解耦,提供更大灵活性。

2. 引入用户组概念RBAC模型

在大型平台应用上,试想如用户量上,新增个色时,可能需要为大量用户都分配遍新色,工程量仍然巨大,此时即可以引入用户组概念。如部分用户使用场景是相致和基础,我们可以把这些用户打成个组,基于这个组象进色和权限赋予。

同理果权时也存在一样的问题,处理方式是引权组的概念,将使用场相对固定的一组功能或权打包成组赋予角。但是一般来讲一个系统中权功能的量是相对有和控的,所以际应用中对权组的使用少。

网易高手:角色权限设计的100种解法

下图所示为 mac 系统中运行添加用户组,并以用户组为单位置权。

网易高手:角色权限设计的100种解法

需要注意的是即使有用户组或权组的存在,也以允许用户或权与角直接关联,个以视具业务情况而定。

3. 角继承的RBAC模型

在一个业务场中,果角需区分:设计主管、设计组长、设计成,并且管理方式为向下兼容时,则需使用角继承的 RBAC 模型。上角继承下角的部权,且额外赋予权。

网易高手:角色权限设计的100种解法

此时除对角进行定义,还需要管理角间的关系,通关系来现角的级关系,从而达到继承权的效果。角的继承关系主要有两种:树形图和有向无图。

网易高手:角色权限设计的100种解法

继承关系常常来源司团的组织结构,此时常将角与组织结构进行关联达到继承角模型的效果。下图所示的赵同学,其角是「三级团负责人」,与其并列的小组中有个「三级团负责人」的角,但依附左的组织结构树,各级负责人仅有查看和操自己下属子节点的权。

网易高手:角色权限设计的100种解法

4. 限制RBAC模型

在个品或系统,部分色可能是需要隔离、不允许被时赋予个。跟大家熟知不能既是「运动员」又是「裁判员」个理。

因此,对众角中的一组,只能是单选的关系,但组角之间以共同存在。下图中,一个用户以既为设计师又为管理,但在设计师角组中仅能被赋予一个角,在管理角组中也仅能被赋予一个角。

网易高手:角色权限设计的100种解法

此外,还有能是数量上的,比一个产品组中必须有且只有一个管理,不允许删除或分管理角,仅允许将负责人角变更。

网易高手:角色权限设计的100种解法

的模型不仅仅对分程产生影响,有时即使拥有种角,因为不同的角对同一个功能的使用方式或数据产生冲突,所以使用时也需要进行。下图所示为同一时间仅允许以一个身份登录。

网易高手:角色权限设计的100种解法

根据不同的业务需求,的形式很。需要注意的是不能仅依赖端,而是要在前端展示清晰的规则和恰当的,避免用户出错和沮丧。

三、权限的拆分与设计

通 RBAC 模型已经能够很的搭建用户、角与权之间的关系。但具是什么样的关系,以及「权」个抽象的概念具何规划?

这些都需分析清楚能一设出完善的权限系统。

首先需要知道,一产品的权限由页面、操作和数据构成。页面操作相互关,必须拥有页面权限,才能配该页面下对应的操作权限。数据可被增删改查。

整体系如图示:

网易高手:角色权限设计的100种解法

因此,在设计之初我们就需要考虑到未来可区分角色的地方,尽量解耦、模。对于技术来说,每一个页面模、每一个操作都最好使独立的接口。对于设计来说,需要保障有角色因为权限而屏蔽掉分操作和数据后,页面和流程仍体验流畅。

保证初期设计支持后,配权限时,需要注意以下几:

1. 确定是否支持前端配

如色和权限相固定,则般将色与权限关系可以写在后台,改动时需要后端变更新上线。这情况适用于公司内部系统等有个使用主体系统。

果需要自定义角或者每个角在不同使用者的场下有不同的权,则需要将角的定义、角与权之间的置现在「前端用户置页面」。种情况适用有频繁变动的自定义角权,和有租户系的系统。

2. 以基单元拆分,以业务逻辑置

一般将每个对象的「增、删、改、查」各自为一个基的权单元。打个比方,在「人管理」中,查看人列表、添加人、删除人、编辑人信息最拆分为4个权单元。在技术和设计上,我们希望能尽量做到耦和模块化。

但业务层面些操作却一体的。这些不能拆的权限「端用户配置页面」中建议打包一整体提供配置。例如:如果我们确系统的未业务中,仅分普通员「人员理」的查看权限,理员操作权限,则可将「增、删、改」三基本权限单合并「操作」权限行配置。

3. 页面权限优先于操作数据权限

必须配置了页面模块权限后,能配置当页面模块下具体的操作权限,以及页面模块的数据展示权限。

4. 查看权限优先于增删改权限

常况下,一先能查看某模块或操作,其它的增删改操作意义。因此设时,应获取查看权限限制其它权限的配置,或者配置其它权限时默认赋予查看权限。

5. 角色与权限的多种关系

角色与权限的关系不仅单纯「/否关系」,还包括以某种限制行操作,以某种程度访问数据。

例如在「人员管理」中:

  • 数据范围:用户拥查看人员列表的权限,但仅能查看自己所的团队;
  • 数据边界限制(上限等):添加人员不能超过20个等。
  • 数据字:HR 查看人员列表中包括职级、薪资等字,它角色仅查看姓名邮箱等字;

6. 角色与权限的设表达

传达一系统的权限设规则时,设师常常习惯用主观直接的方式表达法,如用「当……时,就……」的句式表达。但一平台中涉及的权限规则非常多的,当通篇以这样的形式描述时,表达对象将很难理解。

正确的描述方式:更清晰的是基于开发的语言,和术模型的结果进行表达。将各角色权限绘制成网格,每个交叉点网格中描述该角色权限的数据关系和限制。

如图示:

网易高手:角色权限设计的100种解法

四、需要注意的Tips

1. 隐形的admin

可自义角色权限的系统中,一般需预留一 admin 角色行系统的初始配置,用于添加首批的业务人员配置基本的角色。

有的系统中允许存在上帝视角的 admin 角色,则其可以作为「超管理员」显示在角色配置的列表中。有的系统中不允许这种角色存在,则可将这种角色置为隐形的状,仅赋予维护系统的工作人员。

2. 初始权限的赋予

对于允许用户行加入的系统,需要定一至多个默认的角色,有可以是仅有最基础权限的「游」角色。

初始权限还可与户既有的某些数据字进行联,如添户时获取到户的岗位为「设计师」,则直接赋予「设计师」角色的权限。

3. 人员管中对自己的处

在人员管中,管员角色处自己时需要额外注意。因为如果修改或删除了自己角色后,可导致系统没有管角色,从而无法添他成员和正行。设计时可添判断,当自己为唯一管角色时,禁止编辑和删除。

4. 无页面权限的示

虽然可通过页面权限限制直接隐藏当前户没有权限的页面,但除户获取到权限外的 url 地址。当户意外访问到没有权限的页面时务必供「无权限」的示,避免户认为系统 bug。

总结

总结一,整个权限系统设计就是定义各个节点和节点间系的过程。

节括:

  • 户;
  • 用户组;
  • 角;
  • 角色组;
  • 权限(页面、操作、数据);
  • 权限组(页面、操作、数据)。

关系包括:

  • /否关系;
  • 继承关系;
  • 限制系(互斥、范围限制、边界限制、字限制……);

梳理清楚所有逻辑后,通过灵活定义节点和组各节点之间的关系,便能够轻完成角色权限设计的100种解法。

欢迎关注作者「网易UEDC」的公众号:

网易高手:角色权限设计的100种解法

图片素材作者:Berin Catic

© 版权声明
您必须登录才能参与评论!
立即登录
暂无评论...

相关文章

权限获取页面是我们在启动APP进入主页面相对来说遇到的第一个交互的页面,设计好权限获取页面就是打动用户的第一步,更好的请...
产品设计
@苏大牙牙牙 :日常工作中,有很多看似平凡的小细节,常被大家忽视,却影响着用户的真实体验。比如,前几天跟同事们针对产品...
App分析
场景化已是耳熟能详的词,主要说在特定时刻,基于特定使用情景和用户特性而进行的定制化设计。本次就以金融业务为例,对体验...
场景化设计
网络相关设计是什么?如何设计?本文作者将从自身角度一一为你解答。 一、网络相关设计简介 很多文章和视频里都说我们需要...
场景设计
@苏大牙牙牙 :日常工作中,有很多看似平凡的小细节,常被大家忽视,却影响着用户的真实体验。比如,前几天跟同事们针对产品...
App分析
在如今的电商环境中,促销活动越来越频繁,低价、折扣、同质化的活动玩法已经很难真正刺激到用户,场景化一词突然频频出现在...
场景化设计
在输出冲动型消费产品时,关键在于深度挖掘用户在场景中特殊的行为动机,围绕行为动机进行分析并产出设计目标,最终落地到产...
交互设计
Toogee:权限设计通常隐藏于后台系统深处,以至于我们说起来都知道,但是在真正面对复杂的业务需求和逻辑关系,又有些抓瞎。 ...
入门