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
が、この例外の 1 つが発生すると、メソッドonApplicationEvent
は起動しません。BadCredentialsException
この例外をキャッチできますが、によって処理されるようにグローバルに処理したいと考えていAuthenticationFailureBadCredentialsEvent
ます。試したAuthenticationFailureExpiredEvent
-
@Component
public class ApplicationEventListener implements ApplicationListener<AuthenticationFailureExpiredEvent>{
@Override
public void onApplicationEvent(AuthenticationFailureExpiredEvent event) {
System.out.println("Expired!!"); //same result
}
}
しかし、まだ機能していません。