在Spring Boot1.5.x中,我已经配置了安全性,并且在某些配置文件中(例如本地),我security.basic.enabled=false在.properties文件中添加了行,以禁用该配置文件的所有安全性。我正在尝试迁移到新的SpringBoot 2,在那里删除了该配置属性。如何在Spring Boot 2.0.x中实现相同的行为(不使用此属性)?
security.basic.enabled=false
我已经读过Spring-Boot-Security-2.0和security-changes-in-spring-boot-2-0-m4,关于此属性没有任何内容。
您必须添加自定义的Spring Security配置,请参阅《Spring Boot参考指南》:
28.1 MVC安全 默认的安全配置在SecurityAutoConfiguration和中实现UserDetailsServiceAutoConfiguration。SecurityAutoConfiguration导入SpringBootWebSecurityConfigurationWeb安全性并UserDetailsServiceAutoConfiguration配置身份验证,这在非Web应用程序中也很重要。要完全关闭默认的Web应用程序安全性配置,可以添加一个类型的bean WebSecurityConfigurerAdapter(这样做不会禁用UserDetailsService配置或执行器的安全性)。
28.1 MVC安全
默认的安全配置在SecurityAutoConfiguration和中实现UserDetailsServiceAutoConfiguration。SecurityAutoConfiguration导入SpringBootWebSecurityConfigurationWeb安全性并UserDetailsServiceAutoConfiguration配置身份验证,这在非Web应用程序中也很重要。要完全关闭默认的Web应用程序安全性配置,可以添加一个类型的bean WebSecurityConfigurerAdapter(这样做不会禁用UserDetailsService配置或执行器的安全性)。
SecurityAutoConfiguration
UserDetailsServiceAutoConfiguration
SpringBootWebSecurityConfiguration
WebSecurityConfigurerAdapter
UserDetailsService
例如:
@Configuration public class ApplicationSecurity extends WebSecurityConfigurerAdapter { @Override public void configure(WebSecurity web) throws Exception { web .ignoring() .antMatchers("/**"); } }
要仅对配置文件使用配置,请添加@Profile到类中。如果要通过属性启用它,请添加ConditionalOnProperty到类中。
@Profile
ConditionalOnProperty