如何在 Spring-Boot 2 中禁用安全性? [复制]
Posted
技术标签:
【中文标题】如何在 Spring-Boot 2 中禁用安全性? [复制]【英文标题】:How to disable security in Spring-Boot 2? [duplicate] 【发布时间】:2019-01-03 06:44:00 【问题描述】:在 spring-boot-1.x 中,我有以下配置来禁用开发模式下的基本安全性:
application.properties:
security.basic.enabled=false
application-test.properties:
security.basic.enabled=true
application-prod.properties:
security.basic.enabled=true
从 spring-boot-2.x 开始,不再支持该属性。如何实现相同的配置(=禁用默认配置文件中的任何安全相关功能和配置)?
【问题讨论】:
你需要写配置类 您能否提供一个全局禁用安全性的配置类示例?以及如何仅为默认配置文件加载它?? 【参考方案1】:这里是配置类。这里允许所有网址:
@Configuration
@ConditionalOnProperty(value = "app.security.basic.enabled", havingValue = "false")
public class WebSecurityConfig extends WebSecurityConfigurerAdapter
@Override
protected void configure(HttpSecurity http) throws Exception
http.csrf().disable()
.authorizeRequests()
.antMatchers("/**").permitAll()
.anyRequest().authenticated();
【讨论】:
那么,如何在默认配置文件中自动启用它,并在 test/prod 中禁用它? 我知道,版本2中没有spring-security的属性配置。你可以管理它来读取属性文件 我添加了@ConditionalOnProperty(value = "app.security.basic.enabled", havingValue = "false")
,在这种情况下配置将加载。如果没有更好的方法,至少它可以工作。以上是关于如何在 Spring-Boot 2 中禁用安全性? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
Spring boot 和 Spring Actuator - 禁用安全性
如何禁用嵌入式数据库 Spring-boot spring-data-jpa
从 Spring-Boot 测试中排除 elasticsearchTemplate
如何通过依赖项禁用通过 spring.factories 注册的 spring 工厂并保留此 spring-boot 依赖项?