Printemps de Sécurité personnalisé d'échec de l'authentification gestionnaire de redirection avec le paramètre

J'ai un problème avec le Printemps de Sécurité de l'échec de l'authentification gestionnaire de redirection avec le paramètre.

En sécurité config quand j'utilise

failureUrl("/login.html?error=true")

il fonctionne. Mais quand j'utilise l'authentification personnalisée échec gestionnaire (comme illustré ci-dessous), elle revient toujours: url/login.html

getRedirectStrategy().sendRedirect(request, response, "/login.html?error=true");

ou

response.sendRedirect(request.getContextPath() + "/login.html?error=true");

Je ne sais pas quoi de mal. Pourquoi ne pas afficher le paramètre ?error=true?

Info: je suis à l'aide de Printemps + JSF + Hibernate + Ressort de Sécurité

@Override
protected void configure(HttpSecurity http) throws Exception {

    http
        .authorizeRequests()
            .anyRequest().authenticated()
            .and()
        .formLogin()
            .loginPage("/login.html")
            .usernameParameter("j_username")
            .passwordParameter("j_password")
            .loginProcessingUrl("/j_spring_security_check")
            .failureHandler(customAuthenticationFailureHandler)//.failureUrl("/login.html?error=true")//.successHandler(authSuccsessHandler)
            .defaultSuccessUrl("/dashboard.html")
            .permitAll()
            .and()
        .logout()
            .invalidateHttpSession(true)
            .logoutSuccessUrl("/")
            .permitAll()
            .and()
        .exceptionHandling()
            .accessDeniedPage("/access.html")
            .and()
        .headers()
            .defaultsDisabled()
            .frameOptions()
            .sameOrigin()
            .cacheControl();

    http
        .csrf().disable();
}

C'est la coutume d'échec de l'authentification gestionnaire:

@Component
public class CustomAuthFailureHandler extends SimpleUrlAuthenticationFailureHandler {

    @Override
    public void onAuthenticationFailure(HttpServletRequest request, HttpServletResponse response,
            AuthenticationException exception) throws IOException, ServletException {
        getRedirectStrategy().sendRedirect(request, response, "/login.html?error=true");

    }
}

Je vais changer de paramètre pour certains cas.

Cette réponse pourrait être utile stackoverflow.com/questions/17199423/...

OriginalL'auteur mstykt | 2017-05-08