Au Printemps de Sécurité avec Java Config, pourquoi ne httpBasic POST voulez jeton csrf?

Je suis à l'aide de Printemps-Sécurité 3.2.0.RC2 avec Java config.
J'ai créé un simple HttpSecurity config qui demande l'authentification basique sur /v1/**.
OBTENIR les demandes de travail, mais les requêtes POST échouer avec:

HTTP Status 403 - Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.

La sécurité de mon config ressemble à ceci:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

@Resource
private MyUserDetailsService userDetailsService;

@Autowired
//public void configureGlobal(AuthenticationManagerBuilder auth)
public void configure(AuthenticationManagerBuilder auth)
        throws Exception {
    StandardPasswordEncoder encoder = new StandardPasswordEncoder(); 
    auth.userDetailsService(userDetailsService).passwordEncoder(encoder);
}

@Configuration
@Order(1)
public static class RestSecurityConfig
        extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http
            .antMatcher("/v1/**").authorizeRequests()
                .antMatchers("/v1/**").authenticated()
            .and().httpBasic();
    }
}

}

Toute aide grandement appréciée.

  • Si vous dan voulez pas désactiver csrf (depuis qu'il est là pour une raison quelconque), vous pouvez ajouter un champ caché avec le csrf de la valeur et d'ajouter de la valeur comme starmandeluxe suggère dans l'acceptation de poste. Cela a bien fonctionné pour moi, sans désactiver csrf
  • est droit, bien que dans mon cas, j'ai dû ajouter X-CSRF-TOKEN à l'ajax post-têtes. (L'ajout de _csrf à l'ajax paramètres post ne fonctionne pas.)
  • L'ajout de @Xtroce commentaire, si vous utilisez thymeleaf pour les templates, vous pouvez ajouter un <form th:action="@{/quelque-url-de-votre-forme-postes-pour}">, et le moteur de template donnera automatiquement un champ caché nommé "_csrf" renseignée avec la valeur correcte.
InformationsquelleAutor shawnim | 2013-12-16