Files
pj0235-eai_agentplatform/debug-admin-auth-misjudge.md
T
eaiadmin 4e8817d768 init: 数字员工平台初始代码
包含前端(Vue3 + VueFlow 画布)、后端(Go)、文档体系。
- 工作台画布:节点拖放、连线模式、右键菜单、AI 助手
- 后端:连接器 API、专员种子数据
- 导航:左侧导航、工坊、市场、控制台
2026-08-18 20:19:58 +08:00

1.2 KiB

[OPEN] admin-auth-misjudge

症状

  • 用户当前使用系统管理员账号,但界面中出现“需要管理员权限”提示。
  • 预期行为:管理员访问管理员页面与管理员接口时,不应被后端返回 403。

当前范围

  • 前端:登录态恢复、路由守卫、请求拦截器、管理员页面初始化请求。
  • 后端:JWT 解析、中间件注入 current_user、管理员鉴权中间件。

待证伪假设

  1. 前端页面初始化时,某个管理员接口在 fetchMe() 完成前提前发出,导致用旧 token 或空用户态触发 403。
  2. 浏览器中实际持有的 token 与当前展示的管理员身份不一致,存在多标签页/旧 token 残留。
  3. 后端 Auth 中间件能识别登录用户,但 RequireAdmin 前拿到的 current_user 为空或角色不是 admin。
  4. 某个被认为是“管理员页面”的请求实际命中了错误接口或未走标准鉴权链,导致误报 403。

调试计划

  • 给前端请求链与后端鉴权链加入最小化埋点。
  • 重现一次管理员访问触发“需要管理员权限”的场景。
  • 对照日志确认是 token、/me、路由守卫还是后端鉴权分叉。
  • 基于证据做最小修复,再做前后对比验证。