docs: 完成任务 #22 待验收归档

ila
2026-08-12 17:45:09 +08:00
parent da5e06c177
commit 7a6afe9381
@@ -1,9 +1,9 @@
# 22 Sense独立登录RBAC与审计
# 22 Sense 独立登录、RBAC 与审计
- 类型:需求 / 缺陷 / 重构
- 所属 Epic:#
- 所属 MVP / 版本:#
- 状态:待验收 / 已完成
- 类型:需求
- 所属 Epic:#7
- 所属 MVP / 版本:#8
- 状态:待验收
- 日期:2026-08-12
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/22
- Wiki 页面:Task-22-Sense独立登录RBAC与审计
@@ -11,32 +11,41 @@
## 背景与目标
<!-- 原来有什么问题,这次达到什么结果。 -->
建立 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)