启用具有 JWT 安全性的 Spring Boot 2.0 Actuator 端点

Chr*_*han 2 java spring-security jwt spring-boot spring-boot-actuator

首先,我是 Spring Boot 框架的新手。我已经在执行器上工作了几天,并且能够设置端点来监视系统。然而,当我为了安全性而集成 JWT 时,我的所有执行器端点都坏了。

如何禁用位于 Spring Boot 安全之上的执行器端点的 JWT 安全?以下是我的 application.yml 文件属性。

management:
  endpoint:
    metrics:
      enabled: true
  endpoints:
    web:
      exposure:
        include: health, metrics
Run Code Online (Sandbox Code Playgroud)

hov*_*yan 5

如果您确实依赖 Spring Security,则必须专门为/actuator端点配置(禁用)它。

您必须按照官方文档WebSecurityConfigurerAdapter中的描述进行扩展,并允许对所需端点的所有访问。查看此 Spring Boot 2 Security 示例禁用执行器安全性但不禁用用户定义的端点

您可以通过以下方式禁用执行器端点的安全性:

@Configuration
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests()
            .anyRequest().permitAll()
    }

}
Run Code Online (Sandbox Code Playgroud)

自定义安全示例也很有用。