我已经AuthenticationFailureListener
通过使用实现了登录失败,ApplicationListener<AuthenticationFailureBadCredentialsEvent>
并且我所有的 Bad Credentials 事件都在同一个类中处理,非常方便,我尝试添加一个侦听器,ExpiredJwtException
或者SignatureException
但我无法确定触发了哪个事件,我尝试过 -
@Component
public class ApplicationEventListener implements ApplicationListener<ApplicationEvent>{
@Override
public void onApplicationEvent(ApplicationEvent event) {
System.out.println(event.toString()); //not printed when ExpiredJwtException thrown
}
}
捕获所有ApplicationEvent
,但当此异常之一发生时,该方法onApplicationEvent
不会被触发。我可以捕捉到这个异常,但我想像处理一样全局处理BadCredentialsException
它们AuthenticationFailureBadCredentialsEvent
。试过AuthenticationFailureExpiredEvent
-
@Component
public class ApplicationEventListener implements ApplicationListener<AuthenticationFailureExpiredEvent>{
@Override
public void onApplicationEvent(AuthenticationFailureExpiredEvent event) {
System.out.println("Expired!!"); //same result
}
}
但仍然无法正常工作。