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

使用JWT安全性启用Spring Boot 2.0执行器endpoint

施俊驰
2023-03-14

首先,我是Spring启动框架的新手。我已经在执行器上工作了几天,并且能够设置endpoint来监控系统。当我集成JWT以确保安全性时,我的所有执行器endpoint都坏了。

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

management:
  endpoint:
    metrics:
      enabled: true
  endpoints:
    web:
      exposure:
        include: health, metrics

共有2个答案

华知
2023-03-14

作为对hovanessyan答案的补充,如果您在配置中使用@EnableResourceServer,您还需要将@Order(-1)注释添加到“ActuatorSecurity”类中。

点击此处查看更多信息:https://stackoverflow.com/a/50048440/9697259

翟博雅
2023-03-14

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

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

这是您如何禁用执行器endpoint的安全性:

@Configuration
public class ActuatorSecurity extends WebSecurityConfigurerAdapter {

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

}

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

 类似资料:
  • 我正在使用Spring Boot安全性和Oauth2。我不想禁用健康endpoint的安全性。 我可以完全禁用安全性,或者编写自己的实现并禁用autoconfigured One。 但是如何修改()的现有实现? 我试图创建自己的配置而不禁用AutoConfigurated一个,但由于冲突,这是不可能的。 以下是错误消息: 此外,我试图显式地为我自己的安全配置设置更高的顺序,但看起来自动配置的一个覆

  • Spring Boot执行器endpoint默认受基本http安全保护。 这个可以改成使用Spring Security吗?我已经成功地设置了Spring Security并使用它来保护我的其他页面。 我尝试了并在授权请求中添加了(注意,我使用了不同的url作为endpoint的根用户),但这没有帮助。我一直得到一个基本的http身份验证日志,它不是用户在AuthenticationManager

  • 我目前正在尝试使用PrAG堆栈来监视基于Spring Boot的微服务。有2个spring boot Projects1.5.4(pom.xml)配置了以下依赖项以获取度量并将度量转换到prometheus服务器:

  • 我一直在阅读Spring引导执行器,我很难区分两个应用程序。属性设置 我想自定义执行器endpoint的访问规则。我可以使用属性控制所有执行器endpoint灵敏度。我的理解是,敏感endpoint将需要授权。我还可以通过属性更改endpoint的可访问性。 敏感度控制和安全启动之间有什么区别?

  • 正在尝试使用Spring boot webflux设置基于JWT令牌的身份验证。 Spring boot版本:-2.3.0。生成快照 技术堆栈:-Angular 9,Spring boot 2.3.0。BUILD-SNAPSHOT,Spring Security,Spring Security JWT GUI基于angular 9并使用基于表单的身份验证。 需要JWT来调用来自角,也需要调用直接到