2013-11-13 6 views
1

Я настроил мой Java приложение требует аутентификации, но не SSLJMX RMI аутентификация не работает

JVM ARGS:

-Djavax.management.builder.initial= -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=localIpAddress 

management.properties:

com.sun.management.jmxremote.rmi.port=39998 
com.sun.management.jmxremote.port=39999 
com.sun.management.jmxremote.authenticate=true 
com.sun.management.jmxremote.ssl=false 

jmxremote.access

monitorRole readonly 
dev readwrite 
tester readwrite 

jmxremote.password

monitorRole guest 
dev dev 
tester test 

Однако, я могу открыть приложение без необходимости вводить учетные данные.

jconsole ipOfApplication:39998 

Я получаю прямой доступ, без каких-либо подсказок пароля. Как я могу убедиться, что мне будет предложено войти?

ПРИМЕЧАНИЕ. Даже после включения SSL происходит такое же поведение.

+0

Любые особые причины использования специального агента RMI? ИМО, проблема вызвана агентом. Готовая конфигурация работает как ожидалось (проверено на JDK7u45, JDK8b115) –

+0

Я не могу получить доступ к приложению JMX без агента Custom RMI – sworded

+0

Я полагаю, вам нужно маршрутизировать трафик JMX через брандмауэр, не так ли? –

ответ

0

Вы можете использовать следующую конфигурацию:

-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=6002 
-Dcom.sun.management.jmxremote.rmi.port=6003 
-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 

и открытые порты 6002, 6003 на вашем FW для трафика JMX. Это позволит вам удаленно получать доступ к серверу JMX без введения какого-либо настраиваемого агента RMI.

+0

Я проверил, что свойство работает для меня, поэтому мне не нужно использовать настраиваемый агент. Тем не менее, я по-прежнему сталкиваюсь с той же проблемой, что и раньше: доступ разрешен без проверки подлинности. Я хочу убедиться, что весь доступ аутентифицирован. – sworded

Смежные вопросы