包含前端(Vue3 + VueFlow 画布)、后端(Go)、文档体系。 - 工作台画布:节点拖放、连线模式、右键菜单、AI 助手 - 后端:连接器 API、专员种子数据 - 导航:左侧导航、工坊、市场、控制台
22 lines
1.2 KiB
Markdown
22 lines
1.2 KiB
Markdown
# [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`、路由守卫还是后端鉴权分叉。
|
|
- 基于证据做最小修复,再做前后对比验证。
|