gpt4 book ai didi

post - 在带有Java Config的Spring-Security中,为什么httpBasic POST想要csrf token ?

转载 作者:行者123 更新时间:2023-12-03 08:37:14 26 4
gpt4 key购买 nike

我正在将Spring-Security 3.2.0.RC2与Java配置一起使用。
我设置了一个简单的HttpSecurity配置,该配置要求在/ v1 / **上进行基本身份验证。
GET请求可以工作,但POST请求失败,并且:

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

我的安全配置如下所示:
@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();
}
}

}

任何帮助对此深表感谢。

最佳答案

默认情况下,使用Java配置启用CSRF保护。禁用它:

@Configuration
public class RestSecurityConfig extends WebSecurityConfigurerAdapter {

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
...;
}
}

关于post - 在带有Java Config的Spring-Security中,为什么httpBasic POST想要csrf token ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20602436/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com