「权限管理」模块设计
在企业内部的管理后台,常常会涉及到管理权限,不同的角色所开启的权限不一样。那么「权限管理」模块该怎么设计?本文对此进行总结,一起来看看吧。
我们登录系统的账号,不是一个独立存在的账号。(前文《「用户管理」模块设计》内新增过的用户。)它在注册的时候就已经被赋予了一个或多个角色及一个或多个数据权限。用户、角色、数据权限均是系统的底层概念。也是业务逻辑和功能逻辑的实现基础。
RBAC模型定义了以下几个核心概念:
- 角色(Role):指系统中具有一组相关权限的抽象概念,代表了用户的身份或职能,如:管理员、查询员等。
- 权限(Permission):指对系统资源进行操作的许可,如:读取、写入、修改等。
- 用户(User):指系统的实际使用者。
- 分配(Assignment):指将角色与用户关联起来,以赋予用户相应权限。
RBAC模型可是实现灵活且易于管理的访问控制策略。管理员可以通过分配和调整角色,来管理用户的权限。这种角色层次结构可以帮助简化权限管理,并确保用户只有所需的权限。
一、功能的目的和价值
- 用户权限与系统角色关联;
- 系统角色与数据权限关联;
- 促进实现系统的业务逻辑和功能逻辑。
二、详细方案
1. 方案概述
权限管理包含:角色管理和数据权限两部分。
- 角色管理:分增、删、改、查、配置权限五部分功能实现。
- 数据权限:分功能模块及其功能的实际操作。
2. 功能详情
(1)角色管理
角色:一个抽象概念,可以理解为团队名称,关联在角色下的用户都是该团队的成员之一。
角色列表通用字段:角色名称、状态、更新时间、操作;
新增/修改角色字段:角色名称、状态;
(2)数据权限
A. 单一权限
权限:对系统资源进行操作的许可。
数据权限:即“我的数据”。由于业务的需要,数据会在不同的用户之间进行数据流转。因配置了数据权限,则用户可操作读取、写入、修改等操作。未配置则不可见。
权限配置:角色创建成功后在列表中点击【权限配置】配置角色权限。
用户、角色、权限可以是一对一的关系,也可以是一对多的关系或多对多的关系。
权限配置细化到每个功能模块的增、删、改、查、审批、导入、导出等。
如产品较复杂,权限配置可从功能模块到页面再到操作按钮。
注:系统默认一个超级管理员角色,这个角色不可删除。
B. 覆盖权限
权限覆盖:当用户访问某一数据记录时,用户需要同步查看该数据记录关联的其他数据。即:用户需要获取数据流转时相关联的数据访问权限。
总结:权限管理包含:用户管理、角色管理、权限配置三部分。此三部分相互关联,相互作用。是系统的底层概念,也是业务逻辑和功能逻辑实现的基础。
本文由 @帅嘟嘟 原创发布于人人都是产品经理。未经作者许可,禁止转载
题图来自Unsplash,基于CC0协议
该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务
- 目前还没评论,等你发挥!