背景說明
在多租戶系統中,資源(如功能模塊、系統菜單、服務能力等)需按租戶維度進行授權管理。超級管理員在創建新租戶時,需要初始化該租戶的資源授權信息。
兩種可選方案
方案 | 描述 |
---|---|
方案 A:前端傳入選中的資源列表 | 創建租戶時,前端將勾選的資源列表提交給接口,后端按此列表進行初始化,僅為租戶創建已選資源的授權記錄。 |
方案 B:接口默認初始化全部資源(默認禁用) | 創建租戶時,系統自動為該租戶初始化所有系統資源的授權記錄,初始狀態為“未啟用”,由超級管理員后續決定是否啟用各項資源。 |
方案比較
維度 | 方案 A(前端選擇) | 方案 B(后端默認生成) |
---|---|---|
創建流程復雜度 | 稍高,需前端支持選擇邏輯 | 更低,創建流程更簡潔 |
數據一致性 | 資源記錄不完整,易出錯 | 所有租戶均有完整資源記錄 |
后續擴展性 | 新增資源需補全老租戶數據 | 統一處理,邏輯更清晰 |
權限配置靈活性 | 初始即配置,控制較集中 | 配置與創建解耦,更靈活 |
推薦程度 | ?? | ????? |
產品決策(推薦采用方案 B)
為提高系統的可維護性和一致性,最終選擇:
創建租戶時,系統默認為其生成所有系統資源的授權記錄,資源初始狀態為“未啟用”。
超級管理員可在“資源授權”頁面中按需啟用或禁用相關資源。
該方案具有更好的數據完整性、更低的接口耦合度,并方便后期進行資源擴展與權限配置管理。