Skip to content

feat(ops): add tenant operations administrators and multi-role access - #4324

Open
WMC001 wants to merge 9 commits into
developfrom
wmc/ops-admin-permissions
Open

WMC001 wants to merge 9 commits into
developfrom
wmc/ops-admin-permissions

Conversation

@WMC001

@WMC001 WMC001 commented Nov 11, 2026 •

Copy link
Copy Markdown
Contributor

改动内容

  • 新增运维角色 OPS。仅有 OPS 的用户可访问本租户的运维看板和系统配置,并只读查看资源管理。超级管理员 SU 可跨租户使用运维功能。
  • 支持为用户分配多个角色,按角色权限并集授权。超级管理员和租户管理员可在各自权限范围内分配角色,保留自撤管理员和最后一名租户管理员的保护规则。
  • 邀请码支持多选角色。注册时按邀请码保存的角色集合分配权限,既有邀请码可继续使用。
  • 账号角色统一存储在 user_account_t.user_roles。兼容接口的单值 role 从角色集合计算,role_permission_t.user_role 继续表示权限归属。通过一份迁移 v2.9.0_010_account_and_ops_roles.sql 完成账号和邀请码角色回填、旧账号角色列删除、SPEED 退役及运维权限初始化。
  • 完善角色和邀请码表单校验、受保护角色错误、资源类型及共用表单控件的中英文文案。

验证结果

  • 最新提交 c32326ca3 的全量 UT 共 23,843 项,23,811 项通过、0 项失败、32 项跳过。前端类型检查及主镜像 amd64、arm64 构建通过。全量 UT 日志
  • 迁移验证覆盖空库初始化、历史账号升级、重复执行和权限写入失败后的整体回滚。26 项 PostgreSQL 检查、2 项 Docker 部署生命周期检查以及测试资产和部署脚本校验均通过。
  • 功能回归阶段通过 7 项正式用例,覆盖 API、服务集成、并发和浏览器流程。其中 AUTH-MULTI-ROLE-D4-001 使用前端生产构建和隔离 PostgreSQL 验证。

人工验收清单

  • 使用仅有 OPS 角色的账号登录,确认可见运维看板、系统配置和资源管理,且资源管理只读。使用 SU 切换租户,确认可以查看和操作目标租户的运维功能。
  • 给用户同时分配 DEV 和 OPS,确认两种角色的权限均可使用。在用户会话仍有效时移除 OPS,确认运维权限收回。
  • 验证多角色筛选、管理员自撤保护、最后一名租户管理员保护和跨租户操作限制。
  • 创建多角色邀请码并用它注册,确认账号获得完整角色集合。切换中英文,核对表单校验提示和列表文案。
  • 使用旧库副本执行升级,确认原账号可登录、既有 API Key 可用。重跑迁移,确认已分配的角色集合得到保留。

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant