Spring Security 3.2.5.RELEASE를 사용하고 있으며 실패한 로그인 시도를 잡는 데 어려움이 있습니다. 나는 현재 다음과 같이 ApplicationListener
가 구성 : 예상대로 성공적으로 사용자가 로그인 내가 성공 메시지를 볼 수 있습니다Spring Security가 ApplicationListener의 로그인 실패를 catch하지 않습니다.
@Component
public class MyApplicationListener implements ApplicationListener<AbstractAuthenticationEvent> {
private static Logger logger = LogManager.getLogger(MyApplicationListener);
@Override
public void onApplicationEvent(AbstractAuthenticationEvent abstractAuthenticationEvent) {
if (abstractAuthenticationEvent instanceof AbstractAuthenticationFailureEvent) {
logger.warn("Detected an invalid login");
} else if (abstractAuthenticationEvent instanceof AuthenticationSuccessEvent) {
logger.info("A user logged in successfully");
}
}
}
합니다. 그러나 사용자가 잘못된 암호 등을 제공하면 오류 메시지가 표시되지 않습니다.
@Component
public class MyApplicationListener implements ApplicationListener<ApplicationEvent> {
private static Logger logger = LogManager.getLogger(MyApplicationListener);
@Override
public void onApplicationEvent(ApplicationEvent applicationEvent) {
logger.info("Got an event of type {}", applicationEvent.getClass());
}
}
를 기록하고있는 유일한 보안 관련 이벤트 유형 org.springframework.security.authentication.event.InteractiveAuthenticationSuccessEvent
의이다 그러나 : 그것은 다음과 같이 모든 ApplicationEvent
를 기록 있도록