一尘不染

Spring Boot 2.0.x禁用某些配置文件的安全性

spring-boot

在Spring Boot1.5.x中,我已经配置了安全性,并且在某些配置文件中(例如本地),我security.basic.enabled=false在.properties文件中添加了行,以禁用该配置文件的所有安全性。我正在尝试迁移到新的SpringBoot 2,在那里删除了该配置属性。如何在Spring Boot 2.0.x中实现相同的行为(不使用此属性)?

我已经读过Spring-Boot-Security-2.0和security-changes-in-spring-boot-2-0-m4,关于此属性没有任何内容。


阅读 747

收藏
2020-05-30

共1个答案

一尘不染

您必须添加自定义的Spring Security配置,请参阅《Spring
Boot参考指南》

28.1 MVC安全

默认的安全配置在SecurityAutoConfiguration和中实现UserDetailsServiceAutoConfigurationSecurityAutoConfiguration导入SpringBootWebSecurityConfigurationWeb安全性并UserDetailsServiceAutoConfiguration配置身份验证,这在非Web应用程序中也很重要。要完全关闭默认的Web应用程序安全性配置,可以添加一个类型的bean
WebSecurityConfigurerAdapter(这样做不会禁用UserDetailsService配置或执行器的安全性)。

例如:

@Configuration
public class ApplicationSecurity extends WebSecurityConfigurerAdapter {

    @Override
    public void configure(WebSecurity web) throws Exception {
        web
           .ignoring()
               .antMatchers("/**");
    }
}

要仅对配置文件使用配置,请添加@Profile到类中。如果要通过属性启用它,请添加ConditionalOnProperty到类中。

2020-05-30