Clone
3
Task-22-Sense独立登录RBAC与审计
ila edited this page 2026-08-14 09:52:04 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

22 Sense 独立登录、RBAC 与审计

  • 类型:需求
  • 所属 Epic:#7
  • 所属 MVP / 版本:#8
  • 状态:已完成
  • 日期:2026-08-12
  • Gitea 工单:#22
  • Wiki 页面:Task-22-Sense独立登录RBAC与审计
  • Wiki revision:见本地镜像头

背景与目标

建立 Sense 自有账户、角色、菜单权限、会话和审计边界,不接受 Bell 身份。

最终方案

实现一次性仓库外令牌初始化、bcrypt 密码、Sense 专属 JWT issuer/audience、HttpOnly SameSite Cookie、会话撤销、四角色权限矩阵、后端权限中间件、登录/用户/权限审计,以及用户与操作记录页面。登录失败使用统一安全错误,菜单按后端权限投影。

与已确认方案一致。为使用 #21 的模块注册和项目内窄端口,实施前已在工单评论中记录精确集成 write_path;未修改 contracts、Brain、Bell 或根级部署。

修改文件

  • Sense/server/app/sense/:本工单后端领域、适配器、服务、HTTP 与测试。
  • Sense/server/cmd/sense/modules_*.go:独立模块注册文件。
  • Sense/server/database/migrations/:本工单需要的 PostgreSQL 迁移(如适用)。
  • Sense/ui/src/:本工单 API、页面、路由及明确需要的局部业务组件。
  • Sense/tests/、Sense/testdata/:无生产数据、无真实秘密的验收说明与夹具。

验收结果

安全初始化、登录、统一失败、四角色 RBAC、Bell token/产品头拒绝、会话撤销和审计自动化均通过。

工单保持 open / 待验收,未代替用户执行浏览器、真实设备或部署环境验收。

测试

  • Go 1.26.5 go vet ./...:通过。
  • Go 1.26.5 go test -race ./...:全部通过。
  • Go 1.26.5 go test -count=1 ./...:全部通过。
  • Go 1.26.5 go build ./...:通过。
  • corepack pnpm@9.15.1 install --frozen-lockfile:通过。
  • corepack pnpm@9.15.1 lint --quiet:通过。
  • corepack pnpm@9.15.1 build:通过;仅有 Element Plus vendor bundle 体积建议警告。
  • Sense 独立 smoke、Harness 严格检查和 31 项 Harness 测试:通过。
  • 未验证部分:未连接真实 PostgreSQL,未使用四类部署账户做浏览器人工权限走查。

相关提交

  • $(System.Collections.Hashtable.commit) 本工单实现提交
  • 5177861 docs: document Sense MVP operations (#22-#27)

用户验收

  • 2026-08-14:用户明确确认当前未验收工单通过验收。
  • 本次验收确认该工单在历史 explore 快照中的交付与证据;不恢复旧自研基础框架为 dev 产品基线,后续迁移仍受 #58、#61、#62 约束。