У меня есть приложение на основе 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?