gpt4 book ai didi

java - Spring Boot + Spring Security 授权成功审核

转载 作者:行者123 更新时间:2023-12-01 19:55:09 25 4
gpt4 key购买 nike

有没有人设法让 Spring Boot 和 Spring Security 来处理 AuthorizedEvent(即审计日志)?

我已经实现了以下应用程序事件监听器:

@Component
public class AuthorizationSuccessAudit implements ApplicationListener<AuthorizedEvent> {

private static Logger auditLogger = LoggerFactory.getLogger("audit");

@Override
public void onApplicationEvent(AuthorizedEvent event) {
auditLogger.info("Authorization granted to user: {} - {}", event.getAuthentication().getName(), event.getConfigAttributes());
}

}

并且有一个用@PreAuthorize注释的测试MVC端点。我期待 Spring 安全补助金会显示在日志上。虽然这适用于我使用的所有其他事件(AuthenticationSuccessEvent、AuthenticationFailureEvent、AbstractAuthenticationFailureEvent),但不适用于 AuthorizedEvent。

我尝试浏览 Spring Boot 源代码,似乎此事件未在 AuthorizationAuditListener.java 中处理。 ,这可能是一个错误还是我以错误的方式破解它?

最佳答案

根据 spring boot documentation ,使用Spring Boot Actuator(Spring Boot的审计框架),并提供您自己的AbstractAuthorizationAuditListener实现。

<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>1.3.0.RELEASE</version>
</dependency>

还有类似的东西..

class TestAuthorizationAuditListener extends AbstractAuthorizationAuditListener { 

@Override
public void setApplicationEventPublisher(ApplicationEventPublisher publisher) {
}

@Override
public void onApplicationEvent(AbstractAuthorizationEvent event) {
}

}

关于java - Spring Boot + Spring Security 授权成功审核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35426100/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com