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

Spring Boot-仅安全执行器endpoint

丁曦哲
2023-03-14

我使用Spring Boot (1.3.0)和Jersey (pom依赖项:< code > spring-boot-starter-Jersey ,< code > spring-boot-starter-actuator ,< code > spring-boot-starter-web ,< code > spring-boot-starter-security )。

我有一个泽西岛endpoint(见下文),非常简单:

@Component
@Path("/helloworld")
public class HelloWorldResource {

    @GET
    public String home() {
        return "Hello World !";
    }
}

我通过为Spring MVC url(服务器.servlet 路径=/系统)设置特定路径来启用Spring启动执行器,如Spring启动指南中所述。
得益于Spring启动器-启动器-安全性,执行器endpoint通过基本身份验证进行保护。

我的问题是/hellowworld也是安全的,但我希望它不受保护。

我该怎么做呢?

谢谢!

共有2个答案

潘琨
2023-03-14

您可以将< code>security.user.name属性与< code > management . security . role 一起添加到您的配置中,例如< code > application . properties 或来自spring cloud config center的配置,并在启动日志中搜索随机密码。当然,您也可以在< code>bootstrap.yml中添加密码来使用您指定的内容。

姬捷
2023-03-14

您必须在yaml/properties文件中配置设置,如下所示-

server:
  port: 8080
  context-path: /MyApplication

security:
   user:
       name: admin
       password: secret
   basic:
       enabled: false

management:
   context-path: /actuator
   security:
             enabled: true

因此,对于您的应用程序,安全性是禁用的,但对于执行器endpoint是启用的。确保您没有在管理安全性下配置用户名/密码,否则它将不起作用。

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

  • 我正在将一个旧的java Spring项目重构为springboot,并以传统的war风格部署它。出于某种原因,我必须坚持传统的web.xml来启动应用程序。多亏了Springboot遗产,我可以通过web.xml实现这一点: 此外,我添加了springboot执行器依赖项。应用程序。属性如下所示: 应用程序可以正常启动,但当我尝试从浏览器访问endpoint时,它只返回一个“401需要完全身份验

  • 我正在Lynda.com https://www.lynda.com/spring-tutorials/spring-boot-actuator/653258/709599-4.html?autoplay=true上学习spring-boot教程,演示者简单地说关闭管理安全性这就是application.yml的样子 是否有一种方法可以将application.yml设置为默认属性文件,我在这里遗

  • 消费者是一个spring集成项目,它从消息队列中消费并执行大量处理。我使用Executor通道并行处理消息,然后流通过一些公共处理程序类。 请在下面的代码片段中找到- -我们从EMS队列接收消息并将其发送到路由器 -基于以下消息的id:“特定ExecutorChannel实例配置了一个单线程执行器。每个ExecutorChannel都将是它的专用执行器,只有一个线程。 -所有ExecutorCha