B端设计管理好功能设计的内容总结!

B端设计管理好功能设计的内容总结!

角色权限用户设计方案_用户角色权限是怎么设置的_用户角色权限设计

权限设计是B端产品永远无法回避的话题。 良好的产品权限设计结构是支撑企业复杂业务的基础和关键。 接下来我们分两篇文章来分析产品权限管理,一篇是共享功能权限管理,一篇是共享数据权限管理。

1.什么是权限管理?

权限管理一般是指根据系统设定的安全规则或安全策略,用户可以访问并且只能访问其授权的资源。

简而言之,用户登录系统后,管理用户可以使用哪些功能、可以查看哪些数据,这就是权限管理。

权限管理分为两类:功能权限管理和数据权限管理。

1.功能权限管理:定义登录用户可以看到和使用哪些界面和功能。

例如,CRM系统可以覆盖售前(线索、拜访、工作汇报等)、售中(合同、订单等)、售后(服务订单、维护、等),因此不同角色的人员登录系统后可以使用不同的功能。 负责营销的用户登录系统可以使用线索、回访、工作报告等功能。负责售后的用户登录系统可以使用服务订单、维修计划等功能。

2.数据权限管理:定义登录用户可以查看哪些数据。

对于同一功能,不同角色的用户可以查看的数据范围是不同的。 例如:CRM中的客户数据可供所有客户CEO查看; 对于区域销售经理,仅查看所属区域的客户(华东区域销售经理仅查看华东地区的客户,华南区域销售经理仅查看华南地区的客户); 对于普通业务员来说,只能查看自己负责的客户。

2.权限管理模型 1.RBAC模型(基于角色的访问控制)

基于角色的访问控制是大多数当前权限管理设计的“基础”。

RBAC 模型包含三个关键要素:用户、角色和权限。

用户:登录系统的用户,如:张三、李四等。

角色:定义可用权限资源的集合,包括:页面、功能、数据等权限资源,如销售员角色、财务角色等。

权限:系统所有权限资源,包括:功能、页面、操作、进程、数据等。

RBAC模型使用角色关联来管理用户和权限。 解耦用户和权限的对应关系,通过中间对象——角色进行关联管理。 这样简化了系统权限的授权,提高了权限管理的可扩展性和可维护性。

例如:

企业的销售人员需要使用CRM系统中的客户管理、拜访管理、订单管理等模块的功能。

传统模型中,我们需要将这部分权限授权给销售人员A,当新增销售人员B时,需要重新授权这部分权限。 添加N个销售人员,需要重新授权这部分权限N次。

在RBAC模式下,销售人员所需的所有权限都被授予“销售人员”角色。 添加业务员时,只需为业务员授予“业务员”角色即可。 同时用户角色权限设计开发学习,如果销售人员需要增加或减少功能,只需要修改角色授权的资源即可。 无需一一调整。

角色权限用户设计方案_用户角色权限是怎么设置的_用户角色权限设计

2、基于RBAC模型的“变形”

基于RBAC模型的变形,将功能权限和数据权限分开管理,进一步提高权限管理的灵活性。 目前广泛应用于paas平台和saas+paas产品。

通过功能进行功能权限管理,通过角色进行数据权限管理。 职能管理是“权利”,角色管理是“限制”。 用户的权限=功能管理+角色管理。

当功能权限和数据权限分开管理时,对两种权限进行一些复杂的组合权限控制时,不需要考虑相互影响。例如:通过角色权限+角色组+共享规则+特殊规则等,数据权限的形成是为了满足复杂的权限需求。

用户角色权限设计_角色权限用户设计方案_用户角色权限是怎么设置的

3.功能权限管理

功能权限管理:定义登录用户可以查看哪些界面、可以使用哪些功能等。

1.功能权限资源分类

可以在模块、页面、按钮、字段、流程、业务类型等层面定义常用的功能权限管理。

用户角色权限是怎么设置的_用户角色权限设计_角色权限用户设计方案

2、功能权限管理的基本原则

① 功能权限分配遵循功能优先级。 在分配优先级较低的权限资源时,必须先分配其所属优先级较高的权限资源。

常用的权限资源可分为三个优先级,权限资源呈层次结构,具有所有权关系。 在分配权限资源时,在分配低优先级权限资源时,必须分配其所属的高优先级权限资源。

例如:为某个用户分配“添加客户”按钮权限,则需要将“添加客户”按钮所在的【客户列表】页面分配给当前用户。 同时,为了分配[客户列表]页面,需要将{客户管理}模块分配给用户。 否则,如果只分配添加新客户按钮的权限,该按钮所在页面的用户无法查看该按钮,该按钮也无法操作。

因此,在大多数产品的功能权限管理中,为角色授予权限时,当检查低优先级的权限资源时,会默认自动检查其所属的父权限资源。 例如:当选中某个按钮时,会默认选中该按钮所在的页面以及该页面所在的模块。

用户角色权限设计_角色权限用户设计方案_用户角色权限是怎么设置的

注:图中流程被列为第一优先,因为在定义业务流程时,可能会跨功能模块,可能涉及多次页面跳转等。例如:将销售线索转化为商机的流程。 当销售线索满足一定条件时,您可以点击按钮触发流程并自动生成商机记录。 那么这个过程就涉及到两个功能模块:线索模块和商机模块。

② 当登录用户具有多个角色时,该用户可以访问多个角色关联的权限资源总数。

例如:用户A有两个角色:角色1和角​​色2。角色1可以访问页面I、按钮I和流程I。角色2可以访问页面I、流程I和页面II。 那么用户A就可以访问页面I、按钮I、流程I。按钮I、流程I、页面II。

③ 可管理的权限资源种类越多,总体维护和开发成本就越高。

功能性权限管理并不意味着可管理的权限资源种类越多越好。 这与系统整体的开发和维护成本密切相关。 可管理的权限资源种类越多,成本就越高。 需要根据实际管理需求确定功能权限管理需要支持的权限资源类型。

目前大部分产品功能权限管理都支持“模块-页面-按钮”级别,或者“页面-按钮”级别。 在比较常用的系统设计中,模块、页面、按钮这三类权限资源,只需要在系统后台完成资源注册,就可以对这些权限资源进行管理。 截图如下:

用户角色权限是怎么设置的_用户角色权限设计_角色权限用户设计方案

以字段访问和操作权限为例,当我们要将权限管理延伸到字段层面时:

首先,需要明确对象字段中的中文名称与数据库对象表的列名的对应关系。 用户在定义对象字段的读、写、导出等权限时创作人,需要根据字段的中文名称进行选择。 如果只显示数据库表名,对于用户来说是无法理解和操作的。 其次用户角色权限设计,当用户访问对象数据、编辑对象数据等操作时,需要检查用户权限,验证用户是否具有访问和操作字段的权限。

相比常用的“模块-页面-按钮”/“页面-按钮”权限控制,只需要控制页面和按钮的显示/隐藏,整体维护和开发成本要高很多。

4、功能权限管理排序模板

在产品实施和交付的过程中,需要对用户的功能权限进行梳理,对不同功能的用户授权不同的功能。

分享一个功能权限管理的排序模板:

角色权限用户设计方案_用户角色权限设计_用户角色权限是怎么设置的

注:单据模板不显示字段操作权限排序。 原因是:每个功能对象都有很多字段。 实际情况并没有与业务人员一一核对是否需要查看、导出等权限。 另外,在研究和交流过程中会提出一些特殊情况,可以通过笔记记录在表格中。

终于

与功能权限管理相比,数据权限管理更加复杂且难以理解。 在实际业务中,会有各种各样的业务场景需要满足,因此灵活的数据权限管理架构至关重要。 下一篇文章将结合实际场景来分享数据权限管理。

文章来源:https://www.woshipm.com/pd/5725858.html