技术编程|后台权限管理设计思路:三种模型分析( 二 )


技术编程|后台权限管理设计思路:三种模型分析
文章图片

文章图片

2)而对于用户层级较多的情况 , 建议采用多层级的组织架构的管理模式 , 先建立公司的组织部门 , 再将人置于组织架构树的不同节点之下 。以用户在组织节点的位置 , 以及是否为某个节点组织的负责人 , 来确定其数据范围 。
2. 功能权限的继承
一般是将角色进行分级 , 有了所谓的角色树的概念
技术编程|后台权限管理设计思路:三种模型分析
文章图片

文章图片

由此 , 我们就得到了自由度更高但是逻辑更复杂的权限管理
涉及到组织架构树和角色树 , 需要考虑到的场景更多 , 这些细节要根据实际的业务场景来制定方案 。比如:组织有成立和解散的时间 , 员工也存在转岗换组织部门的情况 , 因此要考虑引入时间轴的概念 。增加很多的校验逻辑 , 比如需要增加员工入职、离职时间 , 且员工在该部门任职的时间不能早于部门成立的时间等等同一员工能否兼岗 , 允许在多个组织下存在角色上是否会有互斥情况存在(RBAC-2模型) , 比如实际业务中 , 发钞和验钞的工作不允许同一个人做 , 因此在功能设计时要考虑角色之间的互斥性 , 通过为用户配置角色来实现用户与权限的映射关系 , 不同权限间是存在优先级的 , 比如刚刚的例子 , 互斥关系为最高优先级
实体关系图 :
技术编程|后台权限管理设计思路:三种模型分析
文章图片

文章图片

系统页面Demo:
技术编程|后台权限管理设计思路:三种模型分析
文章图片

文章图片

上述分析的三种权限管理其实并无优劣之分 。权限管理作为系统的基石 , 应依据系统目标用户特点、后续发展方向、维护成本等方面进行综合评估 , 找到最适合系统的模式即可 。
知识点总结用户管理核心是解决用户与权限的问题;角色可理解为一类用户 , 或者一堆权限的集合 , 链接了用户与权限的关系;权限可以分为功能权限和数据范围;复杂的继承关系 , 数据范围依赖用户组织架构树 , 功能权限依赖角色树 , 将用户放置于组织架构树的不同节点上 , 并赋予角色 , 即解决了功能权限和数据范围的问题;
本文由 @yingying之语 原创发布于人人都是产品经理 , 未经许可 , 禁止转载 。
【技术编程|后台权限管理设计思路:三种模型分析】题图来自 Unsplash , 基于CC0协议


推荐阅读