Spring boot 和 Spring Actuator - 禁用安全性
Posted
技术标签:
【中文标题】Spring boot 和 Spring Actuator - 禁用安全性【英文标题】:Spring boot and Spring Actuator - disable security 【发布时间】:2016-05-03 14:27:35 【问题描述】:我在我的应用程序中使用 spring-boot 1.3.1 和 spring-boot-actuator。我在pom.xml
中使用spring-boot-starter-parent
作为父级。
为了禁用安全性,我在 application.yml
中添加了 2 个条目。
security:
basic:
enabled: false
management:
security:
enabled: false
它仍然没有禁用基本安全性。当我在本地 tomcat 中启动应用程序时,我在日志文件中看到了默认密码。
【问题讨论】:
【参考方案1】:基本安全已禁用,但即使在将security.basic.enabled
设置为false
之后,Spring Boot 也会使用默认用户/密码配置身份验证管理器。 但基本安全被禁用。您可以重新配置 authenticationManager
以覆盖此行为,如下所示:
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter
@Override
@Autowired
protected void configure(AuthenticationManagerBuilder auth) throws Exception
auth
.inMemoryAuthentication()
.withUser("me").password("secret").roles("ADMIN");
【讨论】:
【参考方案2】:您可以通过在 application.yml 中设置用户名/密码来停止 spring boot 以记录默认密码 -
security:
basic:
enabled: false
user:
name: user
password: ****
【讨论】:
【参考方案3】:如果存在 Spring Security,您将需要添加自定义安全配置,以允许未经身份验证的访问端点。比如:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter
//....
@Override
public void configure(WebSecurity web) throws Exception
web.ignoring().antMatchers(HttpMethod.GET, "/actuator/**");
super.configure(web);
【讨论】:
以上是关于Spring boot 和 Spring Actuator - 禁用安全性的主要内容,如果未能解决你的问题,请参考以下文章
Spring Boot Maven 插件 - spring-boot:run 和优雅关闭
《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》
Spring Boot系列 Spring Boot介绍和基础POM文件
Spring Boot系列Spring Initializer快速创建Spring Boot项目
spring-boot-starter-web 和 spring-boot-starter-webflux 不能一起工作吗?