权限系统设计
约 377 字大约 1 分钟
为什么需要权限管理?设计?权限模型的演进?
保证数据安全,不同岗位和级别看到的数据和操作数据的限制是不一样的
RBAC模型:角色、用户、权限都是多对多关系
![RBAC模型.png](https://b.bdstatic.com/comment/I4MgmLj55Sgosm2EdtLMDQf6b307cc01dbe865b7a8eab1ade21b7d.png)
角色继承的RBAC模型:下级角色只有一个上级角色,上级角色可以有多个下级角色。并且可以额外拥有其他权限
![RBAC1模型.png](https://b.bdstatic.com/comment/I4MgmLj55Sgosm2EdtLMDQ1e423b97f6fa092dedf8f329a288db84.png)
带约束的RBAC模型:角色互斥、基数约束(限制数量)、先决条件约束(先用有A角色才能拥有B角色)等
![RBAC2模型.png](https://b.bdstatic.com/comment/I4MgmLj55Sgosm2EdtLMDQ10feea0cdf00ae97b3e9c109c8743de5.png)
用户划分
用户、权限组:批量把角色、权限赋予给用户、角色
组织
实现权限分配的自动化:按照组织来分配角色,用户分到组织后自动获取该组织下所有权限。无需人工干预。
控制数据权限:组织成员只能看到本组织下的数据
![组织.png](https://b.bdstatic.com/comment/I4MgmLj55Sgosm2EdtLMDQea97800caf0aad24faf83ecc078dfdd6.png)
理想RBAC模型
用户表、角色表、权限表、用户-角色关系表和角色-权限关系表。用户和角色、角色和权限是多对多的关系