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


  • 通过Table设计将页面权限与操作权限进行关联配置,在用户提交配置时将页面权限赋予角色,这样可以保障拥有该角色的账号能够查看到相应导航页面并对相关页面进行操作;
  • 以嵌套子表格的设计表现一级页面和二级页面的父子关系,当勾选一级页面的操作权限时视为勾选其所有子页面的操作权限;
  • 从系统的运行逻辑角度出发,对查看权限(可以看到该页面导航)和操作权限(可以看到该页面内的操作项)进行交互关联,当用户仅勾选某页面的查看权限时,不会联动选中操作权限;当用户勾选操作权限时,会联动选中查看权限。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
完成角色配置设计后,就需要考虑如何将角色权限与管理员账号进行关联了。
第三步:对账号配置角色和数据权限
前文提到,考虑到业务自有数据的私密性诉求和安全性考量,因此不能将数据权限直接赋予多业务通用的角色身份,而选择与私密性更好的账号进行绑定配置,为此我们需要新增一个账号管理页,通过该页面可以对管理账号和用户账号数据进行创建和管理。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
在设计管理账号配置交互时:
  • 遵循RBAC权限模型,通过角色配置项实现对账号页面&操作权限的集中赋予,角色配置项采用映射展示项的Checkboxes+Table设计,便于用户勾选角色后能够直观看到对应的角色所拥有的页面权限和操作权限;
  • 考虑到频繁请求全量数据权限容易造成接口崩溃,因此在配置管理员权限时,将角色配置和数据权限控制拆成了2步,通过增加环节数降低全量数据请求的频次;
  • 众包的数据权限分为项目-车间两级,因此在配置数据权限时会优先引导用户先为账号选择项目数据权限,完成项目选择时会在下方展示项目下的子级权限控制入口,用户可以在项目下继续为账号选择车间数据权限(低频操作)。
访问|B端设计实战:基于角色&属性的权限设计
文章插图
完成以上角色配置 + 管理账号配置的2步操作后,我们完成了对管理账号的赋权,之后通过将管理账号分发给业务运营,实现业务接入平台后的管理成员就位。
C端生产账号赋权
众包C端的用户分为Freelancer和供应商两类,用户数量大(数千人),权限需要依赖多类复杂的属性组合因素(任务类型 x 职能 x 语言 x 学科 x 年级),且需要根据不同业务要求进行调整(随着业务数量增多,调整次数将持续翻倍),且部分业务仍有跨国合规诉求和权限定制诉求,需要根据变量条件来灵活调整,因此较适用于ABAC基于属性的权限访问模型。
第一步:明确流程方案
C端用户的赋权设计可以基于推荐渠道用户和普通用户两个角度进行考量。 我们通常会通过线下招募、熟人转推荐和供应商签约3种渠道来招募定向的高质量用户,这部分用户通常会具备相应的基础生产能力,我们可以直接对这类用户进行批量赋权。
当批量渠道用户无平台账号时,我们可以采用如下邀请赋权的流程:
当批量渠道用户有平台账号时,我们可以继续采用邀请赋权的方式,但考虑到减少对用户的干扰,我们也可以采用如下管理员手动赋权的流程:
访问|B端设计实战:基于角色&属性的权限设计
文章插图
而针对普通用户,因为我们不了解这类用户是否具备完成任务生产的能力,所以我们需要面向这类用户增加培训考试环节,因此会采用如下考试赋权的流程: