代理商 SAAS 系统与垂直业务系统不一样,代理商可以不断发展下级,每一级有每一级的管理员。超级管理员可以开通下级代理机构,同时设置下级机构的管理员账号。每一级管理员可以管理本级机构对应的部门、岗位、员工,并进行授权管理。代理商只能查看本机构相关的业务数据,数据进行逻辑隔离。系统设计了数据权重,低权重用户不允许操作高权重的资源(权限组、岗位、菜单、控制、API等)。
总体设计
数据模型
系统功能点设计
超级管理员(权重:9999):面向所有机构
模块 | 功能点 |
---|---|
系统机构 | 机构、部门、岗位 |
系统用户 | 用户、用户岗位设置、创建管理员 |
系统安全 | 资源、权限组、岗位权限 |
系统字典 | 字典、字典项 |
系统日志 | 日志列表 |
代理管理员(权重:8000 - 机构层级):面向当前机构
模块 | 功能点 |
---|---|
系统机构 | 部门、岗位 |
系统用户 | 用户、用户岗位设置 |
系统安全 | 岗位权限 |
系统日志 | 日志列表 |
数据权重设计
数据分类 | 权重 | 系统 | 备注 |
---|---|---|---|
超级管理员 | 9999 | 是 | |
超级管理员权限组 | 9900 | 是 | 为具有超级管理员权限的用户预留一定空间 |
超级管理员岗位 | 9000 | 是 | |
资源(超级管理员) | 9000 | 是 | |
代理管理员 | 7999、7998 | 否 | 明确指明创建管理员,权重=8000-机构层级 |
代理管理员权限组 | 7900 | 是 | 为具有代理管理员权限的用户预留一定空间 |
资源(代理管理员) | 7000 | 是 | |
代理管理员岗位 | 0 | 否 | |
其他数据 | 0 | 否 |
设计解读:
- 数据权重:低权重用户不允许操作高权重的资源(权限组、岗位、菜单、控制、API等),系统权限组不允许建立子权限组(防止权限继承与用户权重不匹配)
- 特殊说明:(关联数据删除时暂时不会删除用户数据权限,当前系统只做了用户数据权限接口预留,但没有实现用户数据权限应用)
– 创建新机构时会自动创建一个部门、一个岗位(将代理管理员权限组直接授权给此岗位)、一个系统级数据权限组{“all”:“all”}、删除机构时会自动删除数据权限组(不管是否系统级)
– 平台管理模块可以操纵所有用户,需要服从数据权重规则,进行用户岗位设置时不对岗位进行数据权重检查,仅对用户进行数据权重检查,用户的数据权重必须与岗位的数据权重匹配(即低权重用户不能设置高权重岗位)。
– 系统管理模块管理员可以根据授权管理本级及下一级机构,但只能设置下一级机构管理员,只能管理本级机构的用户,需要服从数据权重规则。
完整阅读级模型文件下载:https://www.laobingbiji.com/page/202406181125000000000010670917.html