Warum benötigt httpBasic POST in Spring-Security mit Java Config den csrf-Token?
Bin ich mit Spring-Security 3.2.0.RC2 mit Java-config.
Ich habe eine einfache HttpSecurity config, die fragt, für basic-auth /v1/**.
GET-Anfragen funktionieren, aber POST-Anfragen Fehler:
HTTP Status 403 - Invalid CSRF Token 'null' was found on the request parameter '_csrf' or header 'X-CSRF-TOKEN'.
Meine Sicherheit config sieht wie folgt aus:
@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();
}
}
}
Jede Hilfe zu diesem sehr willkommen.
InformationsquelleAutor der Frage shawnim | 2013-12-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
CSRF Schutz standardmäßig aktiviert ist mit Java-Konfiguration. Um es zu deaktivieren:
InformationsquelleAutor der Antwort holmis83
Können Sie auch deaktivieren Sie die CSRF check nur auf einige Anfragen oder Methodenmit einer Konfiguration wie im folgenden für die
http
Objekt:Sehen Sie mehr hier:
http://blog.netgloo.com/2014/09/28/spring-boot-enable-the-csrf-check-selectively-only-for-some-requests/
InformationsquelleAutor der Antwort Andrea