gpt4 book ai didi

java - 如何在 Spring boot 中禁用 Jolokia 的写入操作?

转载 作者:行者123 更新时间:2023-12-02 11:10:42 26 4
gpt4 key购买 nike

我有一个基于 Spring boot (v1.5.9) 的应用程序,其中包含 Spring boot 执行器提供的 Jolokia。

Jolokia 运行良好。我可以读取值,例如:

http://localhost:8080/jolokia/read/java.lang:type=ClassLoading/Verbose

给我:

{"request":{"mbean":"java.lang:type=ClassLoading","attribute":"Verbose","type":"read"},"value":false,"timestamp":1527859447,"status":200}

我想要的是禁用写入操作,例如:

http://localhost:8080/jolokia/write/java.lang:type=ClassLoading/Verbose/true

Spring Boot 配置如下所示:

management.security.enabled=false
management.endpoints.jmx.exposure.exclude=*
management.endpoints.web.exposure.include=jolokia,metrics
management.endpoint.jolokia.config.policyLocation=classpath:/jolokia.xml

WEB-INF\classes\jolokia.xml 中的 Jolokia 政策(根据 https://jolokia.org/reference/html/security.html 导致 war )包含:

<restrict>
<commands>
<command>read</command>
<command>list</command>
<command>version</command>
<command>search</command>
</commands>
</restrict>

尽管如此,我在应用程序日志中看到以下注释:

jolokia: No access restrictor found, access to any MBean is allowed

上面示例中的写入操作工作正常。

我做错了什么?我应该将策略文件放在其他地方吗?是否可以直接从 Spring boot 配置中配置 Jolokia 的策略?

最佳答案

您似乎无意中将 Spring Boot 2.0 配置属性与 Spring Boot 1.5.x 一起使用。在 1.5 中,您应该使用 jolokia.config.policyLocationreference documentation 中有更多信息。 .

关于java - 如何在 Spring boot 中禁用 Jolokia 的写入操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50645838/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com