Skip to main content
 首页 » 编程设计

spring-boot之Spring Boot 2.0 禁用默认安全性

2024年09月07日33leader

我想使用 Spring Security 进行 JWT 身份验证。但它带有默认身份验证。我试图禁用它,但是这样做的旧方法 - 通过 application.properties 禁用它- 在 2.0 中已弃用。

这是我尝试过的:

@Configuration 
public class StackWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter { 
 
    @Override 
    protected void configure(HttpSecurity http) throws Exception { 
        http.httpBasic().disable(); 
        // http.authorizeRequests().anyRequest().permitAll(); // Also doesn't work. 
    } 
} 

如何简单地禁用基本安全性?

更新
很高兴知道我使用的不是 Web mvc 而是 Web Flux。

截屏:

请您参考如下方法:

根据 Spring 2.0 中的新更新,如果 Spring Security 在类路径上,Spring Boot 将添加 @EnableWebSecurity.So 将条目添加到 application.properties 是行不通的(即它不再以这种方式自定义)。更多信息请访问官网Security changes in Spring Boot 2.0

尽管不确定您的要求,但我可以想到如下一种解决方法:-

@Configuration 
@EnableWebSecurity 
public class SecurityConfiguration  extends WebSecurityConfigurerAdapter{ 
    @Override 
    protected void configure(HttpSecurity http) throws Exception{ 
        http.authorizeRequests().antMatchers("/").permitAll(); 
    } 
} 

希望这可以帮助。