背景说明
在多租户系统中,资源(如功能模块、系统菜单、服务能力等)需按租户维度进行授权管理。超级管理员在创建新租户时,需要初始化该租户的资源授权信息。
两种可选方案
方案 | 描述 |
---|---|
方案 A:前端传入选中的资源列表 | 创建租户时,前端将勾选的资源列表提交给接口,后端按此列表进行初始化,仅为租户创建已选资源的授权记录。 |
方案 B:接口默认初始化全部资源(默认禁用) | 创建租户时,系统自动为该租户初始化所有系统资源的授权记录,初始状态为“未启用”,由超级管理员后续决定是否启用各项资源。 |
方案比较
维度 | 方案 A(前端选择) | 方案 B(后端默认生成) |
---|---|---|
创建流程复杂度 | 稍高,需前端支持选择逻辑 | 更低,创建流程更简洁 |
数据一致性 | 资源记录不完整,易出错 | 所有租户均有完整资源记录 |
后续扩展性 | 新增资源需补全老租户数据 | 统一处理,逻辑更清晰 |
权限配置灵活性 | 初始即配置,控制较集中 | 配置与创建解耦,更灵活 |
推荐程度 | ⭐⭐ | ⭐⭐⭐⭐⭐ |
产品决策(推荐采用方案 B)
为提高系统的可维护性和一致性,最终选择:
创建租户时,系统默认为其生成所有系统资源的授权记录,资源初始状态为“未启用”。
超级管理员可在“资源授权”页面中按需启用或禁用相关资源。
该方案具有更好的数据完整性、更低的接口耦合度,并方便后期进行资源扩展与权限配置管理。