Не удается подключиться к агенту JMX, настроенному с помощью пользовательского модуля входа в систему JAAS
Я пытаюсь подключиться к серверу JMX, он включен с помощью JAAS. Я написал свой собственный пользовательский модуль входа в систему, который должен вызываться при подключении внешнего клиента к JMX Server.
Ниже приведены свойства виртуальной машины, которые я установил при запуске сервера. (Конфигурация на стороне сервера)
-Djava.security.auth.login.config=
/opt/xyz/SYSTEMi/Systemi/Config/jaas.config
-Dcom.sun.management.login.config=XYZLogin
JAAS Config:-
XYZLogin {
com.xyz.systemi.api.application.XYZLoginModule required;
};
I am getting this error when i try Connecting to JMX agent through a client.
java.lang.SecurityException: Authentication failed! No LoginModules configured for /opt/xyz/SYSTEMi/Systemi/Config/jaas.config.
Я не могу продолжить, поскольку я не могу видеть трассировку стека для этого вида исключения.
Фрагмент кода моего клиента:
target = new JMXServiceURL("service:jmx:rmi:///jndi/rmi://"+ jmxHost + ":" + jmxPort + "/jmxrmi");
Map<String, String[]> env = new HashMap<>();
String jmxUser = prop.getProperty("jmxUser");
String jmxPassword = prop.getProperty("jmxPassword");
if (StringUtils.isNotEmpty(jmxUser) && StringUtils.isNotEmpty(jmxPassword)) {
String[] credentials = {jmxUser, jmxPassword};
env.put(JMXConnector.CREDENTIALS, credentials);
connector = JMXConnectorFactory.connect(target,env);
} else {
connector = JMXConnectorFactory.connect(target);
}