首先,我是 Spring Boot 框架的新手。我已经在执行器上工作了几天,并且能够设置端点来监视系统。然而,当我为了安全性而集成 JWT 时,我的所有执行器端点都坏了。
如何禁用位于 Spring Boot 安全之上的执行器端点的 JWT 安全? 以下是我的 application.yml 文件属性。
management:
endpoint:
metrics:
enabled: true
endpoints:
web:
exposure:
include: health, metrics
最佳答案
如果您确实依赖 Spring Security,则必须专门针对 /actuator
端点配置(禁用)它。
您必须扩展 WebSecurityConfigurerAdapter
如 official documentation 中所述并允许对所需端点的所有访问。查看此 Spring Boot 2 安全示例 Disabling actuator security but not user-defined endpoints .
这是禁用执行器端点安全性的方法:
@Configuration
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests()
.anyRequest().permitAll()
}
}
关于java - 启用具有 JWT 安全性的 Spring Boot 2.0 Actuator 端点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49610933/