2
я создал пользовательскую аутентификацию обработчик отказа, как это:пружина безопасность AuthenticationFailureHandler с Java конфигурацией
public class TrackerAuthFailureHandler extends SimpleUrlAuthenticationFailureHandler{
@Override
public void onAuthenticationFailure(HttpServletRequest request,
HttpServletResponse response, AuthenticationException exception)
throws IOException, ServletException {
super.onAuthenticationFailure(request, response, exception);
if(exception.getClass().isAssignableFrom(DisabledException.class)){
setDefaultFailureUrl("/accountRecovery");
}
}
}
и я создал компонент, как это:
@Bean
public AuthenticationFailureHandler trackerAuthFailureHandler(){
SimpleUrlAuthenticationFailureHandler handler=new SimpleUrlAuthenticationFailureHandler();
return handler;
}
и пружинные конфигурации, как это:
@Autowired
private TrackerAuthFailureHandler trackerAuthFailureHandler;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.failureHandler(trackerAuthFailureHandler);
}
Но фаза не обнаружена. есть идеи?
вы инициализируетесь SimpleUrlAuthenticationFailureHandler вместо TrackerAuthFailureHandler попробовать новую TrackerAuthFailureHandler() –