后台权限系统

我站后台的权限系统,是几年前写的php版本,一个比较粗糙的RBAC实现。那么,随着公司迅速壮大,线上操作的复杂性、安全性、效率问题,迫切需要重构。去年底开始,我便负责重构这块。

先抛个问题,后台权限系统,应该是什么样的?有哪些原则?
  • 遵守RBAC,按角色分配权限,普通用户对权限点透明
  • 权限收敛 这个是权限系统的安全性问题,等会细说
  • 效率问题 老后台很多功能是缺失的,各种人肉操作
  • 扩展性 灵活支持复杂业务权限需求
直奔主题,看看这个符合RBAC的权限架构(小伙伴画的不错)。
image.png

名词解释:

  • Super Admin 超级管理员,这里主要是创建category(业务)和指定category admin,权限点能力下放,否则是个单点。
  • Category Admin 通常是业务负责人或者产品大佬,负责创建和审批权限点,审批角色
  • Role Admin 角色管理员 通常创建和负责赋予人角色
  • Users 普通后台用户
  • User Group,用户组是个扩展支持,并非必需设计。可以绑定多个角色,但同时也下放了角色绑定,有一定风险
用户角色划分清晰,权责明确。那么再浅谈几个关键点。
权限收敛

权限分配,不能滥用、也不能乱用。能临时,则临时权限。转岗的、离职的怎么回收?多久不用的权限是不是回收?关于审批,有明确负责人,合适的人才能审批好!等等细节很多

效率问题

主要是流程化、工单化,有一些后台页面能力,有一些批量操作能力,用户组也是一个扩展性支持。

扩展性

这本是2.0重点考虑的,权限点的设计上看一些业界做法
如何在权限点上,配置一些业务上更精细化的权限管理需求,实现差异化功能。比如我司业务常常需要的按照子业务区分返回资源列表。这里可以做的很复杂。

你可能感兴趣的:(后台权限系统)