在 Spring Boot 1.5.x 中,我已经配置了安全性,并且在某些配置文件(例如本地)中,我已将 security.basic.enabled=false
行添加到 .properties 文件中禁用该配置文件的所有安全性。我正在尝试迁移到新的 Spring Boot 2,其中删除了该配置属性。如何在 Spring Boot 2.0.x 中实现相同的行为(不使用此属性)?
我已经读过Spring-Boot-Security-2.0和 security-changes-in-spring-boot-2-0-m4并且没有任何关于此属性的信息。
最佳答案
您必须添加自定义 Spring Security 配置,请参阅 Spring Boot Reference Guide :
28.1 MVC Security
The default security configuration is implemented in
SecurityAutoConfiguration
andUserDetailsServiceAutoConfiguration
.SecurityAutoConfiguration
importsSpringBootWebSecurityConfiguration
for web security andUserDetailsServiceAutoConfiguration
configures authentication, which is also relevant in non-web applications. To switch off the default web application security configuration completely, you can add a bean of typeWebSecurityConfigurerAdapter
(doing so does not disable theUserDetailsService
configuration or Actuator’s security).
例如:
@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
web
.ignoring()
.antMatchers("/**");
}
}
要仅将配置用于配置文件,请添加 @Profile
到类(class)。如果想通过属性启用,则添加 ConditionalOnProperty
到类(class)。
关于java - Spring Boot 2.0.x 禁用某些配置文件的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49258766/