访问|B端设计实战:基于角色&属性的权限设计( 五 )


文章插图
一期因时间问题,我们统一仅基于页面配置“查看”与“操作”两类权限。
数据权限即用户在同一页面看到的数据,不同数据权限的用户在同一页面内将看到截然不同的数据。 如下图示例,切换力家长或GauthMath项目后,在同一页面内看到的数据完全不同:
访问|B端设计实战:基于角色&属性的权限设计
文章插图
B端后台出于数据安全性考量,各业务会期望数据处于仅自己业务管理员可见的状态,因此我们发现站在业务角度使用“项目组”的形式来分隔数据更加简单有效,通俗来讲就是每个业务对应一个项目,将用户加入项目内即可获取对应业务的数据权限。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
各业务在面向C端生产角色开放数据权限时,通常需要综合效率、质量和成本等多种目的来进行考量选择,权限也会针对相同类型的用户进行集中配置,因此针对生产角色的会更多基于“用户群组”的形式来进行数据分隔,我们将相同类型的用户进行编组,再对整组用户按照分流规则授予相应的数据权限,群组在命中分流规则后可在任务广场内看到相应的任务数据。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
通过盘点,我们在该步骤可以得出一份「权限点列表」。
第四步:关联权限
关联角色和权限:结合「角色列表」、「属性列表」和「权限点列表」,我们可以整合出一张完整的权限对应表。在梳理角色和权限的关系时,可以通过“角色行为穷举”来进行权限点转化和连接。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
以众包B端的几个管理角色为例,进行“角色行为穷举”:
访问|B端设计实战:基于角色&属性的权限设计
文章插图
关联属性和权限:属性也可以通过同样的方式来进行权限点转化和连接。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
以众包C端的规则为例,进行“属性群组行为穷举”:
访问|B端设计实战:基于角色&属性的权限设计
文章插图
通过盘点,我们在该步骤可以得出一份「角色&属性权限对应表」。
2.3 设计赋权流程在明确了角色&属性与权限的关系后,需要去设计赋权的交互方式。
B端管理账号赋权
众包B端用户以产品和运营为主,用户数量和权限数量一般(100以内),有明确的管理职能划分,主要负责管理和监控平台内的多个子模块进展,因此较适用于RBAC基于角色的权限模型。
第一步:明确流程方案
首先,我们需要确认B端数据权限是否需要做分隔处理:

  • 通常仅服务于单个业务的后台数据权限,不需要做分隔处理,可以直接通过角色赋权账号;
  • 涉及到多业务的保密数据时,需要做权限分隔处理,数据权限不可以和角色直接关联绑定。
如下为数据权限不需要隔离的流程方案:
如下为数据权限隔离的流程方案:
考虑到众包平台期望未来接入更多业务的愿景,我们选用数据权限隔离的流程方案,之后就可以开始设计角色配置方案了。
第二步:创建角色并配置操作权限
首先,我们需要新增一个角色管理页,通过该页面进行角色数据的创建和管理,当业务接入平台时,我们会提供一些默认角色供业务使用。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
如果提供的默认角色无法满足业务诉求,那么业务运营可以在该页面内编辑默认角色或新增角色,为角色自定义页面权限和操作权限。 操作项必然依托于页面,因此我们在设计角色配置交互时: