我正在尝试升级到Spring Boot 2(包括Spring Security),但是在 all 路径上遇到了以上错误。我尝试允许所有请求,但仍然给出错误。
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(HttpSecurity http) throws Exception{
http.authorizeRequests().anyRequest().permitAll();
我还尝试将其添加到application.properties
management.security.enabled=false
它仍然给出相同的错误。
Spring Boot 2.2.2
答案 0 :(得分:-1)
默认情况下,最新版本的CSRF保护默认处于启用状态,如果您正在开发端点(供非浏览器客户端使用),则可以在WebSecurityConfig
中禁用CSFR
http.csrf().disable()
答案 1 :(得分:-1)
根据此issue报告
management.security.enabled已在spring-boot 2中删除
对我来说,当我根据documentation向应用程序添加默认的用户名和密码时,它起作用了。
spring.security.user.name=test
spring.security.user.password=test
,并将其包含在请求标头中。
更新:
后来才意识到我的答案不适合这个问题。
要禁用自动配置,请参考:https://www.baeldung.com/spring-boot-security-autoconfiguration
@SpringBootApplication(exclude = { SecurityAutoConfiguration.class })
public class SpringBootSecurityApplication {
public static void main(String[] args) {
SpringApplication.run(SpringBootSecurityApplication.class, args);
}
}