Skip to content

登录与身份切换使用说明

构建时间2026-06-26 20:10:33(Asia/Shanghai)来源项目中间件文档 / 中间件 PCWEB来源仓../cl-midserver-pcweb-2026来源提交号a6480421a5011a12aaed11a4e5dfc18a9b4e69bf
查看文档来源信息
  • 来源目录:docs
  • 来源文件:功能说明/登录与身份切换使用说明.md
## 功能用途 说明 PCWEB 登录页如何完成真实登录,以及登录后如何在顶部切换普通角色上下文和超级管理员上下文。

登录页行为

  1. 用户输入账号、密码和验证码后提交登录。
  2. 后端可直接确定唯一上下文时,页面直接进入系统。
  3. 后端返回多个可选上下文时,页面弹出身份选择弹窗。
  4. 当前正式显示会明确区分“角色上下文”和“超级管理员上下文”。

用户 store 行为

  1. store 正式保存 currentContextcontextOptionsselectedAuthorityIddefaultPagecommonScope
  2. super_admin 上下文下 selectedAuthorityId=0 不视为异常。
  3. 登录完成和身份切换完成后,store 都会重新同步用户资料、菜单、权限和默认页。
  4. 身份切换期间,store 会记录切换前基线 token,并在接管新 token 前后保护当前切换过程不被旧请求误伤。

顶部切换行为

  1. 当前账号既有普通角色又具备超级管理员身份时,顶部切换列表同时展示普通角色上下文和超级管理员上下文。
  2. 从普通角色切到超级管理员后,页面继续在当前模块内运行,但菜单、权限和默认页会完整重建。
  3. 从超级管理员切回普通角色后,系统立即按该角色授权结果刷新导航和默认页。
  4. 切换窗口内如果旧 token 请求返回 reload,页面不会被误踢回登录,而是继续完成当前身份切换。

权限与默认页行为

  1. super_admin 上下文下,前端按当前模块正式结果整模块放行。
  2. role 上下文下,sys_base 或明确代码动作清单场景按代码动作清单授权判断按钮和页面能力;下游业务模块按已发布菜单授权判断菜单、按钮和页面能力。
  3. 默认页始终按 defaultPage 解析,不再额外推导伪角色首页。
  4. 依赖 commonScope 的治理页在切换后必须重新拉数,部门页、列表页、统计区都要同步反映新的上下文。

常见结果

  • 超级管理员可以在普通角色上下文和超级管理员上下文之间双向切换。
  • 普通角色无法切换到 super_admin,会直接收到后端正式拒绝结果。
  • 角色授权扩容后,重新登录目标账号即可看到新的默认页和放行页面。

2026-04-24 联调补充说明

  1. PCWEB 头部“当前身份”下拉项已经恢复为真实上下文切换入口,可在普通角色上下文与超级管理员上下文之间切换。
  2. 身份切换完成后,PCWEB 会重新请求 getUserInfogetMenu,并按当前模块来源请求 getAuthorityCodeActionStatusgetPublishedMenuAuthorityStatus,据此重建页面、按钮和默认页。
  3. 正式治理页进入页面时,必须真实请求对应后端接口;本轮联调已确认相关页面不再依赖“前端不请求就算没问题”的旧做法。
  4. 本轮真实联调已确认部门页会随身份切换同步刷新:普通角色上下文只显示授权范围内部门,切回超级管理员后恢复全量部门列表。

CL 正式文档平台