我有2个过滤器Filter1和Filter2 ,它们都扩展了AbstractAuthenticationProcessingFilter 。 Filter1已成功完成其工作,并将请求链接到Filter2 。 现在,当Filter2抛出AuthenticationException和它是由过滤器2的处理onAuthenticationFailure方法,响应写入响应流用的HTTPStatus 403和响应因此被提交。 但是,在doFilter方法被调用之后(在Filter1中),该控件被链接回到Filter1 ,并且将其重定向到“ /” URL,这将导致302重定向状态,而不是我期望的403。 有谁知道如何在异常期间跳过filterchain以避免重定向到'/'url?
这是一个春季启动应用程序,两个过滤器都在ApplicationConfig.java中配置,并带有单独的ErrorHandlers Errorhandler1和Errorhandler2 。 FirstFilter将身份验证状态设置为true,第二个过滤器引发异常。 但由于Response由已经承诺Errorhandler2第二滤波器(“AuthenticationFailureHandler”)的链,但仍然控制进入到过滤器1和重定向到“/”。
@Component
public class Filter2CustomErrorhandler implements AuthenticationFailureHandler {
@Override
public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response, AuthenticationException exception) thr