merge: admin-web H-02 audit
# Conflicts: # docs/DEVIATIONS.md # internal/admin/endpoints.go
This commit is contained in:
+10
-1
@@ -739,11 +739,20 @@
|
||||
- 备选方案:改密失败不返回 401(与契约不符);未采用。W-01 排除改密 401 自动登出。
|
||||
- 影响:连续 10 次旧密码错误后锁定;过期会话行在下次登录清除。
|
||||
|
||||
### 复审修复 H-02
|
||||
|
||||
- 日期:2026-09-30
|
||||
- 原条款:PRD F17 每个改变状态的操作记日志;DEVELOPMENT §8 / admin-api 1.4 结构化操作日志;审查 #45。
|
||||
- 实际做法:`Deps.AuditLogger` 独立 slog(始终 Info),`serve` 装配,不受 `log.level` 影响。审计增加 `token_id` 与不含秘密的 `detail`(enabled / code_changed / generated / members / failed / new_owner / 导入前 20 个编号加 total)。批量结果为 ok/partial/failed。登录失败、锁定、错误令牌写 `admin_auth_fail`(ip+reason)。令牌名称 1–64 字符。Cookie 未登录不记 `admin_auth_fail`。
|
||||
- 原因:原先走全局 Info,warn/error 级别会丢全部审计;令牌可重名改名;批量恒 ok;失败登录无记录。
|
||||
- 备选方案:独立 audit 表;未采用,保持 slog 采集。
|
||||
- 影响:日志采集仍按 `admin_audit` 过滤,新字段只增不改;另需采集 `admin_auth_fail`。
|
||||
|
||||
### 复审修复 H-07
|
||||
|
||||
- 日期:2026-09-30
|
||||
- 原条款:PRD F02 管理员重置登录密码后当前连接被踢下线;审查 #50。
|
||||
- 实际做法:`PasswordResetKick` 出错时回退 `KickEndpoint`,审计 `result=ok_kick_failed` 并写错误日志;HTTP 仍 200(密码已改)。停用/删除踢线钩子出错只写日志,不改审计结果。未改 H-02 审计框架,仍走现有 `audit()` slog。
|
||||
- 实际做法:`PasswordResetKick` 出错时回退 `KickEndpoint`,经 H-02 `auditP` 记 `result=ok_kick_failed` 并写错误日志;HTTP 仍 200(密码已改)。停用/删除踢线钩子出错只写日志,不改审计结果。
|
||||
- 原因:`fatalKick` 清会话失败会直接返回,重置路径原先吞掉错误仍记 ok,设备可能仍在线。
|
||||
- 备选方案:踢线失败改回 500 并回滚密码;未采用,口令已写入且重试会再重置一次。
|
||||
- 影响:致命踢线失败时仍会尽力断开连接;审计可区分踢线未完成。
|
||||
|
||||
Reference in New Issue
Block a user