1.3 KiB
1.3 KiB
Why
平台超级管理员(super_admin,位于 touyun 租户)登录后只能看到自己所在租户的业务数据,无法切入其他租户(如 demo)管理其用户/角色——当前多租户隔离把业务数据锁死在登录租户内,但平台超管理应有「切入任意租户」的能力。
What Changes
- JWT 增加
super标志(仅切换接口签发);sub始终是平台超管真实 userId,tenantCode随切换变化。 - 新增
POST /auth/switch-tenant:平台超管切入目标租户,签发新 token。 isSuper判定改为「当前租户含 super_admin 或 平台租户(touyun)含 super_admin」,切换后仍按超管绕过权限、数据按目标租户过滤。- 前端顶栏为超管提供「切换租户」入口。
Capabilities
Modified Capabilities
backend/auth: 平台超管跨租户切换(super 标志 + 切换接口 + isSuper 解析)。shared/api-contract: 新增POST /auth/switch-tenant。frontend/AD/layout: 顶栏租户切换入口。
Impact
- 后端:
auth(JWT super 标志、switch-tenant 接口、checkUserActive/resolveAuth/buildContext/getMenus的 isSuper 解析)。 - 前端:顶栏切换下拉、auth store 更新 token、切换后重置菜单/字典/权限缓存。
- 无数据变更。