如果按市面上常见的权限模型来归类的话,我们算是基于角色的权限模型,只是根据服务对象的实际场景进行了小调整。
主要有以下几块概念:
- 用户
- 岗位
- 角色
- 机构
- 应用权限
- 菜单权限
一般公司可能是直接将角色分配给人,我们基座权限模型穿插加入了岗位和机构的概念,
- 在角色和用户之间加入了岗位,将岗位分配给用户,然后再把角色分配给岗位;
- 在用户和岗位之间加入了机构,一个用户对应一个机构,只能给用户分配机构下的岗位;
多对多关系上, 一个用户可以分配多个岗位; 一个岗位可以分配多个角色; 一个角色可以分配多个应用和多个菜单; 一个用户只能有一个机构;
【特别说明】一个角色可以分配多个应用和多个菜单
- 角色可划分为三类角色,分别是应用角色、系统管理员角色、系统角色。
- 应用角色只允许分配一个应用,系统管理员角色才能分配多个应用。
- 菜单自然也是只能分配角色所拥有应用下的菜单。
- 菜单可继续细分成菜单级权限和按钮级权限(查看、编辑、删除)
总的来说,相比传统的RBAC,这套更适合
- 集团型组织
- 多机构隔离
- 人员岗位变动频繁
- 权限批量继承
的情况。
数据模型如下:

发表回复