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