29 lines
1.8 KiB
Markdown
29 lines
1.8 KiB
Markdown
# Common Audit 模块指引
|
|
|
|
## 数据库访问与中文注释约束
|
|
|
|
- 强制遵守根 `../AGENTS.md` 的“数据库访问与中文代码注释”全部规则:正常业务访问统一为 `Controller → Service → Repository → Mapper`,不得省略 Repository 或跨层直调;生产 SQL 由 Mapper 执行,Repository 不得直接使用 JdbcTemplate 或原生 JDBC。非 HTTP 入口从 Service 进入;无数据库模块不引入数据库访问。
|
|
- 每个手写方法及构造器须有简短中文说明;核心业务规则、复杂 SQL、事务、锁、幂等、并发及失败处理须补充适量中文注释,重点说明原因和边界。新增、修改方法立即执行,触及的存量代码同步整改。
|
|
|
|
## 职责边界
|
|
|
|
- 负责业务审计事件采集、注解切面、敏感字段脱敏以及日志/HTTP 输出。
|
|
- 审计记录持久化属于 `audit-service/`;本模块不依赖具体业务 Entity 或数据库。
|
|
|
|
## 快速索引
|
|
|
|
| 功能 | 入口 |
|
|
|---|---|
|
|
| 审计注解与切面 | `src/main/java/com/baiyue/common/audit/BusinessAudit.java`、`BusinessAuditAspect.java` |
|
|
| 事件模型 | `AuditEvent.java` |
|
|
| 输出抽象与实现 | `AuditSink.java`、`LoggingAuditSink.java`、`HttpAuditSink.java` |
|
|
| 敏感数据脱敏 | `SensitiveDataSanitizer.java` |
|
|
| `baiyue.audit` 配置 | `AuditProperties.java` |
|
|
| 自动配置 | `BaiyueAuditAutoConfiguration.java` 与 `src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports` |
|
|
|
|
## 修改与验证
|
|
|
|
- 新增审计字段时先确认不会泄露密码、令牌、证件或客户敏感数据,并检查 `audit-service` 接收 DTO。
|
|
- 审计失败不应破坏核心业务;调整输出策略时保留超时、关闭开关和安全降级。
|
|
- 从父目录运行 `mvn -pl common-audit -am test`,并按影响追加验证 `audit-service`。
|