1.6 KiB
1.6 KiB
04 — 迁移账号、角色与权限敏感操作到统一审计
What to build: 账号、角色和权限敏感操作通过统一 Audit Writer 记录操作者、动作、目标资源、结果、风险和前后变化。关键成功审计与业务修改同事务,拒绝和失败审计可可靠保留,这些入口不再调用旧账号审计 Writer。
Blocked by: 01 — 交付不可变 Audit Event 写入闭环
Status: ready-for-agent
架构通道: 主通道为简单写 Application,辅助通道为旧 MVC Adapter。
完整业务边界: 本票收口现有账号、角色和权限敏感写入口的统一审计接入。明确不重构整个账号模块,不迁移无关读取,不删除或回填旧账号历史表。
- 账号创建、修改、启停、删除、角色分配及权限变更使用注册动作和统一资源类型,成功、拒绝和失败语义明确。
- 账号角色或权限关键成功事件与业务事实使用同一 GORM 事务;审计失败时业务修改回滚。
- 权限拒绝与业务失败通过独立短事务记录,不向客户端泄露底层错误或资源是否存在。
- 事件包含操作者与入口快照、请求/关联标识、变更前后事实和直接受影响资源,敏感字段按统一规则删除或脱敏。
- 生产装配中的上述入口不再调用旧账号审计 Service,也不直接创建旧账号日志模型;静态检查和真实用例测试可证明该边界。
- 测试覆盖事务成功、审计失败回滚、拒绝、业务失败、重复请求和数据权限边界,不改变旧历史查询结果。