当前位置: 首页 > 知识库问答 >
问题:

禁止Spring引导执行器/关闭endpoint

饶明亮
2023-03-14

我第一次使用Spring Boot应用程序时,执行器是不安全的,所以很容易通过/acture/shutdownendpoint远程关闭。最近,我已经使用Spring安全保护了我的执行器,它已经起作用了。现在我需要提供http基本凭据来访问endpoint,但现在对/acture/shutdownendpoint的curl调用失败,出现禁止错误。我一定是配置不正确的地方。

我的卷曲命令:

我的配置:

management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
management.info.git.mode=full
management.endpoint.shutdown.enabled=true
management.server.port=8081
spring.security.user.name=actuator
spring.security.user.roles=ACTUATOR
spring.security.user.password=password

编辑:

    @Configuration
public static class ActuatorWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
    protected void configure(HttpSecurity http) throws Exception {
        http.requestMatcher(EndpointRequest.toAnyEndpoint()).authorizeRequests()
                .anyRequest().hasRole("ACTUATOR")
                .and()
                .httpBasic();
    }
}

共有1个答案

司寇凯
2023-03-14

解决方案是在WebSecurityConfigureAdapter configure方法中禁用csrf。

http.csrf().disable();
 类似资料:
  • 我在我的应用程序中使用了Spring-Boot1.3.1和Spring-Boot-Actutor。我使用作为中的父级。 为了禁用安全性,我在中添加了2个条目。 它仍然没有禁用基本的安全性。当我在本地Tomcat中启动应用程序时,我看到日志文件中的默认密码。

  • 我尝试在配置文件中禁用生产环境的所有执行器endpoint: 它适用于除/info以外的所有endpoint。如何关闭给定环境的所有endpoint? 更新: 我正在做的项目也是Eureka的客户。在Spring Cloud Netflix的文档Status Page and Health Indicator一节(http://Cloud.Spring.io/spring-cloud-netfli

  • 我已经将ShutDownHook添加到我的Spring Boot应用程序中。当我将SIGTERM传递给我的应用程序时,shutdown钩子被触发,但它在中途终止,即在执行过程中终止。谷歌了它,尝试了很多解决方案,但都不起作用。一些专家,请帮我一下。 GracefulShutdownHook类: 我想让关机钩子更新一些缓存和一些逻辑,这会消耗一些额外的处理时间。 当我尝试使用“杀戮-15”杀戮时的日

  • 我如何注册/添加一个自定义的关闭例程,当我的Spring Boot应用程序关闭时,该例程将被触发? 场景:我将Spring Boot应用程序部署到一个Jetty servlet容器(即,没有嵌入式Jetty)。我的应用程序使用Logback进行日志记录,并且我希望在运行时使用Logback的MBean JMX配置器更改日志记录级别。它的文档说明,为了避免内存泄漏,在关机时必须调用特定的Logger

  • 我正在为我的Spring Boot应用程序实现自定义执行器HealthIndicators。 它们看起来像: 这里我的问题是,默认情况下,Acturet有大约5分钟的调度时间,在该时间内它将自动调用endpoint。我要禁用这个。 我只希望在代码中显式调用健康endpoint时调用它。 有人知道如何禁用执行器默认调度吗?