Как отключить операцию записи для Jolokia при загрузке Spring? - PullRequest
0 голосов
/ 01 июня 2018

У меня есть приложение на основе Spring boot (v1.5.9) с Jolokia, предоставляемым приводом Spring boot.

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

Конфигурация весенней загрузки выглядит следующим образом:

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

И политика Jolokia в WEB-INF \ classes \ jolokia.xml (в результате войны, согласноhttps://jolokia.org/reference/html/security.html) содержит:

<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

И операция записи из приведенного выше примера работает нормально.

Что я делаю не так? Должен ли я поместить файл политики в другое место? Можно ли настроить политику Jolokia непосредственно из конфигурации загрузки Spring?

1 Ответ

0 голосов
/ 01 июня 2018

Похоже, что вы случайно использовали свойства конфигурации Spring Boot 2.0 в Spring Boot 1.5.x.В 1.5 вы должны использовать jolokia.config.policyLocation.Немного больше информации в справочной документации .

...