扫一扫 扫一扫 扫一扫 扫一扫 权限设计是 B 端系统设计中一个至关重要的环节。有关权限设计的内容浩如烟海,笔者根据平时的项目实践经验,总结出 B 端系统权限设计的以下几点心得,共分为三大部分:
其中第三部分为本文的重点,详细介绍了功能权限和数据权限的设计方法。关于权限设计的用户管理、用户组管理、角色管理、权限管理等内容,主要是列表页、编辑页、详情页等页面流程以及增删改查等操作,本文不再赘述。 更多相关干货: 从6个方面,帮你学会B端产品的权限设计:RBAC权限模型前言随着互联网的快速发展,B 端行业也逐渐崛起,很多企业管理中使用的软件我们通常称其为 B 端管理系统,而在 B 端系统中“权限管理”是必不可少的功能,不同的系统中权限的应用复杂程度不一样,都是根据实际产品以及需求情况而设置合理的权限。 阅读文章 >一、权限设计的定义权限设计是指系统为解决某一具体的权限分配问题而进行的设计。 为什么需要分配权限呢?一般是出于职位职责和数据安全两个方面的考虑。 例如,一个客服平台的质检系统需要管理员、质检员、坐席等不同职位,不同职位担任的职责均不相同,这就需要通过功能权限划分进行管理。 同时,考虑到系统的数据安全性,不同账号被允许查看的数据范围也不相同。管理员可以查看并操作全量数据,而坐席只能查看个人数据,因此,需要设计数据权限。 二、B 端系统权限设计的分类B 端系统权限主要分为两类:功能权限和数据权限。 功能权限是指用户登录系统后可以操作哪些菜单、哪些页面以及哪些页面元素。例如,质检员登录 W 客服平台的 AI 质检系统后,可以在质检详情页对 AI 质检结果进行增删改查,而坐席人员只能查看不能操作。因此,就页面的功能权限而言,二者是不一样的。 数据权限是指用户登录系统后可以查看的数据范围,即能查看多少数据,什么类型的数据。例如,W 客服平台的 AI 质检系统的质检记录列表,管理员能查看所有坐席人员的质检记录,而坐席人员只能查看自己的质检记录。因此,二者的数据范围不同。 我们在做权限设计时,一定要区分系统的功能权限和数据权限,不要糅合在一起。 三、B 端系统权限的设计方法1. 如何设计 B 端的功能权限 RBAC 模型 RBAC 模型(RBAC,Role-Based Access Control)是指基于角色的访问控制,该理论于 1995 年由计算机科学家 Ravi Sandhu 提出来的。主要描述了一套用户、角色、权限的设计理论,已被业界广泛使用。 RBAC 模型理论的核心思想是:在用户与权限之间增加一个媒介,即角色。通过给每个用户赋予一个或多个角色,再给每个角色分配相应的权限,从而将角色关联的权限赋予给用户。 为什么要引入“角色”这个概念呢?为了更好地说清楚 RBAC 模型的核心思想,我们来看个 B 端设计案例。W 客服部门做了一个 AI 质检系统,起初由于业务量少,质检系统只安排了 1 个质检员小明,让他负责审核 AI 质检结果并确认质检。管理员给小明创建了系统账号,并直接绑定了质检权限。 后来,随着业务量的不断增加和坐席团队的日益壮大,W 客服部门已增至几十个质检员,每次有新增的质检员,管理员都需要给其绑定相应的权限,后续有修改也无法进行批量操作,需要对每一个账号操作一遍。这样,管理员的重复性工作太多,工作效率大打折扣。 试想,如果设置一个角色,并把相关权限赋予该角色,那么在添加新账号的时候,只需将该账号绑定该角色,就能拥有该角色所具有的权限。如果需要调整权限,也无需操作每个账号,只需修改该角色绑定的权限即可,所有账号的权限跟着改变,这将极大地提高管理员的工作效率。 关于 RBAC 模型的核心思想,图示如下: 关于 RBAC 模型,还有很多延展性理论。例如:根据模型的复杂度,又可分为 RBAC0、RBAC1、RBAC2、RBAC3。其中,RBAC0 是上面介绍的基础理论。后面几个涉及到角色继承、角色约束、用户组等概念,我们可根据自己业务的实际情况选择合适的理论模型,在此不再赘述。 根据 RBAC 模型理论,我们怎么设计 B 端系统的功能权限呢? ①设计合理的角色。合理的角色设计是权限设计的前提。在此基础上,只需要配置每个角色能查看哪些菜单,访问哪些页面,操作哪些页面元素就行。 例如,通过业务分析,W 客服平台的 AI 质检系统的角色有:管理员、质检员、坐席、游客。管理员负责系统配置和管理。质检员负责对 AI 质检结果进行检查和确认。坐席可查看自己的质检结果,提出复议。游客可登录系统查看质检模块介绍。 ②明确需要做权限控制的功能点,以权限表的形式罗列出来。 功能权限包括菜单权限、页面权限和页面元素权限。将需要做权限控制的功能点以菜单、页面、页面元素的层级罗列出来。如果菜单、页面有多个层级,则将每个层级都罗列出来。以下表格是 W 客服平台的 AI 质检系统的智能质检模块需要做权限控制的功能点: ③列出角色,找到权限与角色之间的对应关系,完善权限表。我们再把 W 客服平台的 AI 质检系统的角色列在权限表后面,并勾选每个角色拥有的权限,完善角色与权限的对应关系,具体图示如下: 从以上权限表,我们可以看出:
以权限表的形式将各角色与功能权限一一对应呈现出来,清晰明了,不容易遗漏。 2. 如何设计 B 端系统的数据权限? 数据权限是建立在功能权限基础之上的。没有功能权限,就不会有数据权限。 例如,某个角色在 W 客服平台的 AI 质检系统中如果不能查看质检记录列表,自然也谈不上能看到多少数据量的问题。 关于数据权限,一般包含两种情况。 一种是无组织架构的数据权限。这类数据权限设计相对简单。根据不同的业务情况,可以选择直接在创建角色时选定相应的数据权限范围,也可以将规则以文字描述的形式罗列在权限表后面。 例如,W 客服平台的 AI 质检系统各角色间不涉及上下级的层级架构,因此,只需在功能权限表后新加一栏数据权限,将各角色的数据权限规则描述出来即可,具体图示如下: 第二种是有组织架构的数据权限。 组织架构是指,一个组织整体的结构。企业的组织架构是企业的流程运转、部门设置及职能规划等最基本的结构依据。 例如,A 公司营销部门的组织架构为:营销总监下设营销部经理和业务部经理,经理分别下设两个主管,主管下设专员,上级领导下级,下级对上级负责。具体图示如下: A 公司营销部的业务诉求是:营销总监能查看营销部的所有数据,部门经理能查看本部门的所有数据,部门主管能查看所有下属的数据,专员只能查看自己的数据。 那我们如何通过组织机构树进行数据权限设计呢? ①根据业务诉求,我们创建管理员、部门管理员、部门主管、普通用户 4 个角色,并定义这 4 个角色在组织机构树中的权限范围,具体如下表所示: ②给相应人员创建账号,并将对应的角色赋予账号,具体图示如下: ③系统通过读取这棵组织机构树上的节点来实现数据权限的控制。
至此,根据组织机构树已实现对整个营销部门的数据权限管理。 四、结语本文探讨了权限设计的定义、类型,着重介绍了功能权限和数据权限的设计方法。然而,这些只是权限设计的冰山一角。在接下来的 B 端系统的设计生涯中,期待我们更多的理论探索和实践验证! 手机扫一扫,阅读下载更方便˃ʍ˂ |
@版权声明
1、本网站文章、帖子等仅代表作者本人的观点,与本站立场无关。
2、转载或引用本网版权所有之内容须注明“转自(或引自)网”字样,并标明本网网址。
3、本站所有图片和资源来源于用户上传和网络,仅用作展示,如有侵权请联系站长!QQ: 13671295。