【发布时间】:2017-07-24 21:21:30
【问题描述】:
我正在运行 Spring Boot v1.5.2.RELEASE。
如何在不禁用整个 Spring Boot 项目的安全性的情况下让/health 显示在下方?
{
"status": "UP",
"testing": {
"status": "UNKNOWN",
"foo": "bar"
}
}
下面是我的 TestingHealthIndicator.java 代码:
import org.springframework.boot.actuate.health.AbstractHealthIndicator;
import org.springframework.boot.actuate.health.Health.Builder;
import org.springframework.stereotype.Component;
@Component
public class TestingHealthIndicator extends AbstractHealthIndicator {
@Override
protected void doHealthCheck(Builder builder) throws Exception {
builder.withDetail("foo", "bar");
}
}
只有当我在application.properties 中设置以下内容时,“测试”才会显示在 /health 中
management.security.enabled=false
management.health.defaults.enabled=false
但我不想禁用整个项目的安全性。
我确实在这里看到了一些有用的信息:https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html,但没有看到将自定义 AbstractHealthIndicator 设置为非敏感的特定方式。
【问题讨论】:
-
你在使用 Spring Security 和 Actuator 吗?!这是解决还是不解决?! :)
-
我将 Spring Security 与 Actuator 一起使用。没有解决:(
标签: java spring-boot spring-boot-actuator