审计
一旦 Spring Security 生效,Spring Boot Actuator 就有一个灵活的审计框架,可以发布事件(默认情况下是“认证成功”、“失败”和“访问拒绝”异常)。此功能对于报告和实现基于认证失败的锁定策略非常有用。
您可以通过在应用程序配置中提供一个类型为 AuditEventRepository 的 bean 来启用审计。为了方便起见,Spring Boot 提供了一个 InMemoryAuditEventRepository。InMemoryAuditEventRepository 功能有限,我们建议仅在开发环境中使用它。对于生产环境,请考虑创建自己的替代 AuditEventRepository 实现。
自定义审计
要自定义发布的安全性事件,您可以提供自己的 AbstractAuthenticationAuditListener 和 AbstractAuthorizationAuditListener 实现。
您还可以将审计服务用于自己的业务事件。为此,可以将 AuditEventRepository bean 注入到您自己的组件中并直接使用它,或者通过 Spring ApplicationEventPublisher 发布一个 AuditApplicationEvent(通过实现 ApplicationEventPublisherAware)。