审计
一旦启用 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
。