前言

本文针对初阶的产品经理、产品体验设计师,以及承担部分产品边界工作的交互设计师,较为系统地介绍了中后台权限系统的模型组成以及元素梳理、流程界面设计的诸多要点,读者可以以此来自查梳理内容是否充分以及获取权限界面设计中的要点干货。

1.什么是「权限设计」

“权限设计”是中后台的底层设计,用于明确操作人员可在平台内能做什么;即什么样的人,可以做什么样的事。

1.1.权限的意义

  • 让使用者在有效的限制范围内访问被授权的资源。

  • 让管理者基于系统的安全规则与策略,控制不同用户合理访问对应资源。

正是有了权限系统,才可以让工作群组内不同人员、不同组织的分工,让不同角色专注于自己的工作范围,也可以降低操作风险发生概率,也便于管理。

1.2.权限的应用

权限设计的应用主要有两种场景,分别是版本切割、角色权限管理:

  • 角色权限管理:角色权限管理顾名思义是根据用户角色类型进行权限分配;一个角色对应一组权限组,一个用户可能有多个角色。适用于中后台逻辑复杂功能模块繁多,需要对系统按权限进行切割的应用场景。

  • 版本管理:部分中后台存在商业化诉求,基于前者的角色权限分配(也有可能不存在角色区分),再将完整的系统进行功能切割,将整个系统按功能切割为普通版、进阶版,甚至更多版本;这些版本功能范围基本处于一个包含关系。

在B端中后台的设计中,最常见的应用场景为“角色权限管理”,角色权限管理涉及的维度也会比“版本切割”更为复杂,本指南会着重介绍角色权限管理场景下的设计。

1.3.权限设计要求

好的权限设计,需要达到以下三方面要求:

  • 系统安全:基于系统的安全规则和策略进行设计,同时需要降低用户操作错误导致的风险概率。

  • 关系明确:需要界定权限的边界与关系,遵循一定的规则与用户进行关联。

  • 拓展性高:需要确保权限管理的拓展性,系统的能力建设是持续的,用户也是不断流动的;保持高拓展性以此降低变更对安全性、稳定性的影响。

1.4.权限设计的工作范畴

  • 界面设计:权限查询、管理与授权等一系列页面设计。

  • 业务梳理:权限构成、赋予以及行使的逻辑、元素的梳理。

  • 数据验证&管理:数据管理层面,最终目标是可被表达成一个运算则式,体验方案的合理性与拓展性,验证设计的有效性。

  • 底层架构开发:偏向于开发层面的系统底层架构设计与研发。

权限系统的复杂度决定设计需要介入的层级深度;一般设计师在权限设计中的范畴包括厘清权限的业务逻辑、关注页面本身的设计,其他的数据层面和实现层面即可交由产品和开发。

2.怎么做「权限设计」—业务梳理

2.1.准备工作:权限模型的了解与选择

在业界有很多关于权限系统的技术模型,常见的有ACL、ABAC、DAC、RBAC等等,不同体量的权限系统,我们可以参考不同的权限模型进行梳理和设计。

2.1.1.RBAC0模型

RBAC0的基础理念是将“角色”这个概念赋予用户,在用户与权限之间通过角色进行关联,实现灵活配置。

RBAC模型的三要素为:用户、角色、权限。

  • 用户:是发起操作的主体,例如:后台管理系统的用户、OA系统的内部员工、面向C端的用户。

  • 角色:用于连接了用户和权限的桥梁,每个角色可以关联多个权限,同时一个用户也可以关联多个角色,那么这个用户就有了多个角色的多个权限。

  • 权限:用户可以访问的资源,包括:页面权限、操作权限、数据权限。

* 2.1.2.ACL模型

ACL为查询操作对象的权限控制列表。当权限系统体量小,用户直接对应具体功能点即可满足系统诉求时,可以考虑使用ACL模型作为参考。

ACL权限中,只有用户、权限这两个要素:

* 2.1.3.RBAC1模型:基于 RBAC0 加入角色继承

RBAC1模型是在RBAC0模型基础上,引入了角色继承的概念,即角色具有上下级的关系,每个等级权限不同,从而实现更细粒度的权限管理。

* 2.1.4.RBAC2 模型:基于 RBAC0 引入角色约束控制

RBAC2模型是在RBAC0模型基础上,对角色进行约束控制。RBAC2模型中添加了责任分离关系,规定了权限被赋予角色时或角色被赋予用户时,以及当用户在某一时刻激活一个角色时所应遵循的强制性规则。主要包括以下约束:

  • 互斥关系角色: 同一用户只能分配到一组互斥角色集合中至多一个角色,互斥角色是指各自权限互相制约的两个角色。例如:设计部有交互设计师和视觉设计师两个角色,他们如果在系统中为互斥角色,那么用户不能同时拥有这两个角色,体现了职责分离原则。

  • 基数约束: a.一个角色被分配的用户数量受限;b.一个用户可拥有的角色数目受限;c.同一个角色对应的访问权限数目受限;以此控制高级权限在系统中的分配。

  • 先决条件角色: 简单理解即如果某用户想获得上级角色,必须得先获得其下一级的角色,以此为一个先决条件。

2.2.开始梳理:基于RBAC模型盘点要素

RBAC0在实际工作中用得较为频繁,且对应初阶的设计师对于权限的理解也较为有帮助,所以本文接下来会基于RBAC模型来介绍权限系统的梳理及设计。

2.2.1.第一步:盘点角色

角色是连接用户和权限的桥梁,在这一步对参与系统的角色进行穷举,需要保证系统的运作能否绝对闭环,所以明确系统中的角色至关重要。

如何进行角色盘点,主要有以下两种方式:

  • 参考组织本身的岗位划分:绝大多数情况下,系统中的工作职责与实际工作岗位有较为紧密的相关性,我们可以参考已有的岗位来盘点系统中的角色。

系统解读:权限设计指南相关推荐

  1. SAAS--03HRM系统用户权限设计概述

    第3章-SaaS系统用户权限设计 学习目标: 理解RBAC模型的基本概念及设计思路 了解SAAS-HRM中权限控制的需求及表结构分析 完成组织机构的基本CRUD操作 完成用户管理的基本CRUD操作 完 ...

  2. 第3章-SaaS-HRM系统用户权限设计

    学习目标: 理解RBAC模型的基本概念及设计思路 了解SAAS-HRM中权限控制的需求及表结构分析 完成组织机构的基本CRUD操作 完成用户管理的基本CRUD操作 完成角色管理的基本CRUD操作 1 ...

  3. SaaS-HRM--第3章-SaaS系统用户权限设计

    学习目标: 理解RBAC模型的基本概念及设计思路 了解SAAS-HRM中权限控制的需求及表结构分析 完成组织机构的基本CRUD操作 完成用户管理的基本CRUD操作 完成角色管理的基本CRUD操作 1组 ...

  4. 系统权限设计 - 基本概念和思路

    点击上方"xy的技术圈",选择"设为星标" 认真写文章,用心做分享. 微信公众号:xy的技术圈 个人网站:yasinshaw.com 正文 权限系统的设计几乎是 ...

  5. 浅谈OFBiz之权限设计

    简介 Apache Open For Business(Apache OFBiz) 是Apache开源的一个经典ERP项目.它提供了一套企业应用,用于集成以及自动化一些企业的"商业流程&qu ...

  6. spring催办业务_业务后台系统之流程设计

    上周在<业务后台系统之权限设计>中总结了自己在最近一个后台业务系统项目中的后台产品设计经验,本篇继续总结完后台设计三大内容中的流程设计. 首先,需要明确工作流联盟(WFMC)对工作流的定义 ...

  7. SaaS-HRM中的权限设计

    3 SAAS-HRM中的权限设计 3.1 需求分析 3.1.1 SAAS平台的基本元素 SAAS平台管理员: 负责平台的日常维护和管理,包括用户日志的管理.租户账号审核.租户状态管理.租户费用的管理, ...

  8. RBAC模型概述以及功能权限数据权限设计思路

    RBAC模型概述 1. 什么是RBAC RBAC模型:Role-Based Access Control 基于角色得访问控制 通俗说,就是,权限不会直接分配到用户,而是分配到用户所拥有得角色 这样的好 ...

  9. SaaS-系统用户权限设计(组织机构管理)

    第3章-SaaS系统用户权限设计 1 组织机构管理 1.1 需求分析 1.1.1 需求分析 实现企业组织结构管理,实现部门的基本CRUD操作 1.1.2 数据库表设计 CREATE TABLE `co ...

最新文章

  1. java结束全部操作代码_Java创建与结束线程代码示例
  2. 【推导】Codeforces Round #364 (Div. 2) D. As Fast As Possible
  3. Python实现局域网(Socket)通信
  4. 通过8个技巧让你成为一个超强的Linux终端用户
  5. mysql 免安装重装_mysql 重装问题
  6. 【jquery】 随笔记录
  7. java 数组效率_java数组复制的四种方法效率对比
  8. 机器人环境感知研究现状简述
  9. SQL Server数据库有关语法
  10. SqliteDev如何突破限制
  11. linux usb ic读卡器,在Linux下使用ACS ACR1252U USB NFC读卡器
  12. [Rscript]探索性因子分析
  13. 字母组合---排列组合问题
  14. 为什么电脑会突然蓝屏
  15. 用c语言反向输出5ge字符,C语言入门:05.scanf函数
  16. SAP 固定资产日期
  17. iOS 屏幕左侧向右滑动返回
  18. 服务器物理机如何实现系统快照,Lvm快照实现物理备份之自动化
  19. 中国工业制造RFID市场竞争力排名分析与投资战略规划研究报告2022-2028年版
  20. 安卓设备安全相关技术

热门文章

  1. 思科设备故障检测检查表
  2. 运维基础(12)服务器12种基本故障+排查方法
  3. html5支持原生js,HTML5怎么学原生的js?让你对前端有了新的认识
  4. Facebook宕机背后,我们该如何及时发现DNS问题
  5. 围观|第一代云原生企业米哈游如何让想象发生?
  6. 红盟php 解密,php教程_神盾加密解密教程(一)PHP变量可用字符
  7. java中属性加参数_java – 具有类型参数的注释属性
  8. html 关键帧作标记,关键帧有什么用?
  9. python 嵌套字典key_查找和修改python嵌套字典(key,value)
  10. 【直播】回放!人脸图像算法及其应用