[英]spring security AuthenticationFailureHandler with java config
我創建了一個自定義身份驗證失敗處理程序,如下所示:
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:
@Bean
public AuthenticationFailureHandler trackerAuthFailureHandler(){
SimpleUrlAuthenticationFailureHandler handler=new SimpleUrlAuthenticationFailureHandler();
return handler;
}
和spring配置是這樣的:
@Autowired
private TrackerAuthFailureHandler trackerAuthFailureHandler;
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.failureHandler(trackerAuthFailureHandler);
}
但是未找到bean發生異常。 有任何想法嗎?
使用注解注入方式時,必須在TrackerAuthFailureHandler @Component
的頂部使用@Component
。 像這樣:。
@Component
public class TrackerAuthFailureHandler extends SimpleUrlAuthenticationFailureHandler{
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.