审计
一旦启用 Spring Security,Spring Boot Actuator 就会提供一个灵活的审计框架,能够发布事件(默认包括“authentication success”、“failure”和“access denied”异常)。
该特性对于报表统计以及基于认证失败实现锁定策略非常有用。
你可以通过在应用配置中提供一个类型为 AuditEventRepository 的 bean 来启用审计。
为方便起见,Spring Boot 提供了 InMemoryAuditEventRepository。
InMemoryAuditEventRepository 功能有限,仅推荐在开发环境中使用。
对于生产环境,建议自定义实现 AuditEventRepository。
自定义审计
如需自定义发布的安全事件,可以自行实现 AbstractAuthenticationAuditListener 和 AbstractAuthorizationAuditListener。
你也可以将审计服务用于自定义业务事件。
具体做法是,将 AuditEventRepository bean 注入到你的组件中直接使用,或通过 Spring ApplicationEventPublisher(实现 ApplicationEventPublisherAware)发布 AuditApplicationEvent。