docs: create Bell task #12 acceptance archive
@@ -0,0 +1,44 @@
|
||||
# 12 Bell独立登录RBAC与认证审计
|
||||
|
||||
- 类型:需求
|
||||
- 所属 Epic:#7
|
||||
- 所属 MVP / 版本:#8
|
||||
- 状态:待验收
|
||||
- 日期:2026-08-12
|
||||
- Gitea 工单:https://git.ilapage.cn/ila/yovision/issues/12
|
||||
- Wiki 页面:Task-12-Bell独立登录RBAC与认证审计
|
||||
- Wiki revision:见本地镜像头
|
||||
|
||||
## 背景与目标
|
||||
|
||||
为 Bell 建立不信任 Sense token 的独立账户、会话、角色权限与认证审计边界。
|
||||
|
||||
## 最终方案
|
||||
|
||||
使用 bcrypt 密码和只存 HMAC 摘要的服务端会话,Cookie 固定为 `bell_session`。系统无默认账户/密码/密钥,首次管理员由一次性环境变量创建。管理员、操作员、只读角色按最小权限执行,认证审计由数据库触发器保证只追加。
|
||||
|
||||
## 修改文件
|
||||
|
||||
- `Bell/server/app/auth/`、`rbac/`、`audit/`:身份、权限与审计。
|
||||
- `Bell/server/migrations/2026081201_auth.sql`:账户、角色、会话、审计及不可变约束。
|
||||
- `Bell/web/src/views/login/`、`system/`:登录、用户角色和审计页面。
|
||||
|
||||
## 验收结果
|
||||
|
||||
| 验收标准 | 结果 |
|
||||
|---|---|
|
||||
| 缺少 session secret 拒绝启动 | 通过 |
|
||||
| Bell 登录/登出和过期会话闭环 | 通过 |
|
||||
| Sense Cookie 不被接受 | 通过 |
|
||||
| 后端 RBAC 隔离管理员接口 | 通过 |
|
||||
| 审计事实不可更新/删除 | 通过 |
|
||||
|
||||
## 测试
|
||||
|
||||
- 执行:Go 单元/集成测试;登录 200→登出 204→会话 401;伪 Sense Cookie 401;管理员/操作员/只读权限矩阵;数据库不可变触发器。
|
||||
- 结果:全部通过。
|
||||
- **未验证部分**:生产域名下 Secure Cookie、外部身份提供商和真实用户人工验收。
|
||||
|
||||
## 相关提交
|
||||
|
||||
- `a5fc8f5` 独立认证与 RBAC(PR #35)。
|
||||
Reference in New Issue
Block a user