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

标签 java spring-boot spring-security

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

我已经读过Spring-Boot-Security-2.0security-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 and UserDetailsServiceAutoConfiguration. SecurityAutoConfiguration imports SpringBootWebSecurityConfiguration for web security and UserDetailsServiceAutoConfiguration 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 type WebSecurityConfigurerAdapter (doing so does not disable the UserDetailsService 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/

相关文章:

java - JMX Html 适配器

grails - 如何在grails应用中更改默认的spring-security 2.0登录页面?

apache - 访问登录页面时创建了太多 session ?

java - 使用 Spring Security Version 5 和 Feign Client(最新版本)时如何处理漏洞 CVE-2018-1258?

java - SMBJ 抛出传输/eof 异常

Java在eclipse中读取文本文件

java - 使用反射在运行时更改 JLabel 的背景

java - 如何在 Spring Boot 中向 Access-Control-Allow-Origin 添加多个域?

Spring Boot - 测试 - bean 的拆卸

spring - 如何为运行测试设置默认的Spring Boot配置文件(不使用环境变量)?