1

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
    }
}

しかし、まだ機能していません。

4

2 に答える 2