写作背景
工作两年半了,笔者一直在做 To B
的产品,像是后端管理系统、Saas
系统都有接触过,它们都有一个共同点:权限管理。我每天都在接触但只是从前端开发这个角色去理解,我对整个业务流程其实是比较模糊的,所以写下这篇文章方便去帮助自己理解整个业务流程,并且尽量用易懂的文字去表达,希望大家看了也能有所收获。本篇文章主要讲述的是 RBAC 模型,后面再写相关的设计,敬请期待。
为什么需要权限系统
任何业务的产生总是伴随着一定的背景,权限系统也不例外,况且它还是一个 “刚需”。现如今的产品其实就是 数据制作 与 数据消费 的时代,但并不是所有数据都能被全量消费的,为什么呢?
- 产品需要盈利,某些数据的 “制造” 与 “消费” 通过订阅的方式按需收费。比如
Sass
平台服务会推出各种定价版本:个人版本、团队版本、公司版本,比如ProcessOn
、石墨文档
、蓝湖
等平台。 - 公司内部人员使用管理平台需要各司其职,不能越权操作。
- 产品安全性,防止某些非法分子越权窃取数据。
可见权限系统是很有必要的,而基于角色的权限访问控制模型更为流行(RBAC
),翻译过来其实就是: 具有某个角色的用户对某个资源操作的权限。下面我们看看这个模型的发展过程。
RBAC 模型发展历程
RBAC
全称 Role-Based-Access-Control
, 即基于角色的访问控制。它的发展主要有四个模型:RBAC0
、RBAC1
、RBAC2
、RBAC3
下面给大家详细介绍