我想使用 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();
}
}
希望这可以帮助。