春季启动2:{“错误”:“未经授权”,“错误说明”:“需要完全身份验证才能访问此资源”}

时间:2020-01-13 19:25:46

标签: java spring spring-boot spring-security

我正在尝试升级到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

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);
    }
}
相关问题