Java 使用自定义身份验证处理Spring5中的AuthenticationException

Java 使用自定义身份验证处理Spring5中的AuthenticationException,java,spring,spring-security,Java,Spring,Spring Security,我正在尝试为处理AuthenticationException定义一个默认入口点 这是我的配置: @覆盖 受保护的无效配置(HttpSecurity http)引发异常{ http .cors() .及() .csrf().disable() .授权请求() .anyRequest().authenticated() .及() .addFilter(新的JWTAuthenticationFilter(authenticationManager())) .addFilter(新的JWTAuthor

我正在尝试为处理
AuthenticationException
定义一个默认入口点

这是我的配置:

@覆盖
受保护的无效配置(HttpSecurity http)引发异常{
http
.cors()
.及()
.csrf().disable()
.授权请求()
.anyRequest().authenticated()
.及()
.addFilter(新的JWTAuthenticationFilter(authenticationManager()))
.addFilter(新的JWTAuthorizationFilter(authenticationManager()))
.会议管理()
.sessionCreationPolicy(sessionCreationPolicy.STATELESS)
.及()
.formLogin()
.failureHandler(authenticationFailureHandler())
.permitAll();
}
@豆子
公共身份验证FailureHandler身份验证FailureHandler(){
返回新的重新身份验证FailureHandler();
}
我已经设置了
AuthenticationFailureHandler
,据我所知,它处理所有
AuthenticationException
。而是调用了
SimpleRuThenticationFailureHandler

我做错了什么?我在SO上读了将近30篇帖子,但都没有很好的答案

我还尝试使用自定义的
AuthenticationEntryPoint
,它可以工作,但我没有得到原始异常,只有一个对我毫无帮助的通用异常

我正在使用Spring5


如果缺少信息,请告诉我。我相信我正在分享相关代码,因为这似乎是一个配置问题。在调用我的
JWTAuthenticationFilter
中的
authenticate()
方法后,将引发AuthenticationException。显然,这根本不起作用,因为我正在使用自定义身份验证:

.formLogin()
        .failureHandler(authenticationFailureHandler())
相反,我必须在UsernamePasswordAuthenticationFilter的构造函数中设置AuthenticationFailureHandler,如下所示:

public class JWTAuthenticationFilter extends UsernamePasswordAuthenticationFilter {
  private AuthenticationManager authenticationManager;

  public JWTAuthenticationFilter(AuthenticationManager authenticationManager) {
      this.authenticationManager = authenticationManager;
      this.setAuthenticationFailureHandler(new RestAuthenticationFailureHandler());
  }
}

我希望我能用自己的答案帮助别人。

方法是的一部分。不,你的答案没有错,只是用“用于自定义身份验证”替换了它。我相应地编辑了标题和答案。谢谢你的时间和帮助。