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