前言
这个系列将会阐述这些年来在企业中个人所了解到的SAAS系统设计,将个人的认知以及经验作为一个整体的输出;希望这个系列能启发到各位,同时也希望能得到各位的反馈,来提升认知的以及更广阔的视野。
相关概念
用户(User):使用系统的实体,需要访问系统中的资源。
角色(Role):一个组织或任务中的工作或位置,它代表了一种资格、权利和责任。RBAC通过角色来关联用户和权限,一个用户可以拥有一个或多个角色。
权限(Permission):执行特定系统功能的权利,如读取、写入、执行等。在RBAC中,权限与角色相关联,而不是直接与用户关联。
会话(Session):用户与激活的角色集合之间的映射。一个用户可以同时激活多个角色,每个角色都有其对应的权限。
设计思路
- Permission是SAAS系统的最小粒度单位,是系统的功能及Api的总体集合
- 基于Permission,将角色、组织、租户进行会话的绑定,也就是常说的权限的分配
- 用户(User)则是角色、组织、租户的最小组成单位
- 基于SAAS系统的多租户的概念下,租户则是基于开放能力的不同,Permission母集合下的子集合
如上图所示,展示的是租户-组织-角色-功能的关系图。接下来我们系统设计,则是从功能->角色->组织->租户一层层往上开发设计。