我試圖使AuthenticationException
異常的子類,如下所示:不能使用的AuthenticationException
public class RegistrationNotCompleteException extends AuthenticationException {
public RegistrationNotCompleteException(String msg) {
super(msg);
}
}
,並在我的UserDetailsService
類的loadUserByUsername
我做如下檢查:
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
不RegistrationNotCompleteException
。
我想驗證異常類是RegistrationNotCompleteException
。
請告知如何做到這一點。
好問題解決。但是,我可以問你爲什麼要擴展身份驗證例外嗎?它似乎並沒有添加任何功能。 – AlexR
@AlexR,我想做一個新的異常RegistrationNotCompleteException作爲一個標記,我可以檢查它在AuthenticationFailureHandler –
@AlexR,任何建議來完成我想要的? –