次の例外サブクラスを作成しようとしてAuthenticationException
います。
public class RegistrationNotCompleteException extends AuthenticationException {
public RegistrationNotCompleteException(String msg) {
super(msg);
}
}
loadUserByUsername
私のクラスでUserDetailsService
は、次のチェックを行います。
if (!user.getHasRegistered()) {
System.out.println("######## User: " + username
+ " has not completed the registration");
throw new RegistrationNotCompleteException(
"User has not completed registration");
}
AuthenticationFailureHandler
そのため、ユーザーは期待どおりにクラスに転送されます。
onAuthenticationFailure
ただし、次のようにメソッドで例外クラスを取得しようとすると:
public void onAuthenticationFailure(HttpServletRequest request,
HttpServletResponse response, AuthenticationException exception)
throws IOException, ServletException {
UsernamePasswordAuthenticationToken token =
(UsernamePasswordAuthenticationToken) exception.getAuthentication();
String username = token.getName();
String credentials = token.getCredentials().toString();
System.out.println("Exception class: " + exception.getClass());
例外クラスがAuthenticationException
notであることを出力しRegistrationNotCompleteException
ます。
そして、例外クラスがRegistrationNotCompleteException
.
その方法を教えてください。