无法在 Spring Boot 中禁用安全性 [重复]

Posted

技术标签:

【中文标题】无法在 Spring Boot 中禁用安全性 [重复]【英文标题】:Cannot disable security in spring boot [duplicate] 【发布时间】:2016-07-25 04:27:57 【问题描述】:

我想在我的应用程序中禁用 Spring Security,并在 application.yml 文件中设置属性 security.basic.enable=false。

security:
  basic:
    enabled: false

我使用 spring-boot-actuator 检查了 /env 并发现它已正确加载:(在第 2 行)

[classpath:/application.yml]":"spring.datasource.url":"jdbc:mysql://localhost:3306/toe?useUnicode=true&characterEncoding=utf8&allowMultiQueries=true","spring.datasource.username":"root","spring.datasource.password":"******",
"security.basic.enabled":false,
"server.port":7777,"flyway.enabled":false

但是,安全配置仍然有效,我无法访问需要身份验证的那些,但我可以访问那些是 permitAll。

这是应用程序类:

@SpringBootApplication
@MapperScan("team.xuli.toe.dao")
public class ToeServerApplication 
    public static void main(String[] args) 
        SpringApplication.run(ToeServerApplication.class, args);

这是安全配置:

@Configuration
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter

  @Override
  protected void configure(HttpSecurity http) throws Exception 
      http.csrf().disable();
      http.httpBasic();
      http.
             authorizeRequests()
             .antMatchers("/hello").permitAll()
             .anyRequest().authenticated();
  
  @Autowired
  public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception 
      System.out.println("user added in mem!");
      auth
          .inMemoryAuthentication()
              .withUser("xqf").password("123").roles("ADMIN");
  

【问题讨论】:

谢谢,我尝试设置属性 security.ignored=/** 并成功。有一个类似的问题***.com/questions/36280181/… 【参考方案1】:

如果您在应用程序的任何位置使用@EnableWebSecurity 定义@Configuration,它将关闭 Spring Boot 中的默认 webapp 安全设置。

【讨论】:

谢谢,已经解决了。我试图设置属性 security.ignored=/** 并成功。有一个类似的问题:***.com/questions/36280181/…【参考方案2】:

如果您需要安全性作为依赖项但不希望 Spring Boot 为您配置它,您可以使用此排除项:

@EnableAutoConfiguration(exclude =  
        org.springframework.boot.autoconfigure.security.SecurityAutoConfiguration.class

    )

【讨论】:

以上是关于无法在 Spring Boot 中禁用安全性 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 在本地环境中禁用 SAML 安全性

Spring boot 和 Spring Actuator - 禁用安全性

如何在 Spring Boot 安全性中禁用 CORS

如何在 Spring Boot 安全性中禁用 CORS

如何在 Spring Boot 2.2.0 的集成测试中禁用安全性?

Spring Boot 1.5 禁用 oauth2 安全性