Я занимаюсь разработкой java веб-приложения, которое должно подключаться к серверу Active Directory (LDAP) для аутентификации некоторых пользователей. Он работает нормально, но я пытаюсь настроить его, чтобы иметь возможность подключения к 2 различным серверам. Поэтому я поместил этот синтаксис в свойствах:
env.put(Context.PROVIDER_URL,
"LDAP://" + ParametrosManager.readParametro("LDAP_PROVIDER_URL") + ":636 " +
"LDAP://" + ParametrosManager.readParametro("LDAP_PROVIDER_URL2") + ":636"
);
System.out.println(env.get(Context.PROVIDER_URL));
// it prints LDAP://psfjfhsj.com.br:636 LDAP://myRealLdap.com.br:636
Итак, они есть, два URL-адреса ldap, разделенных пробелами. Первый не настоящий адрес, второй - один из моих серверов ldap. Но мои попытки подключения терпят неудачу, потому что мое приложение не может найти первый сервер! Вот некоторые результаты консоли:
javax.naming.CommunicationException: psfjfhsj.com.br:636 [Root exception is java.net.UnknownHostException: psfjfhsj.com.br]
at com.sun.jndi.ldap.Connection.<init>(Connection.java:226)
(...)
Caused by: java.net.UnknownHostException: psfjfhsj.com.br
Я отлаживаю ssl-соединения (используя на своем сервере флаг -Djavax.net.debug=ssl
) и вижу, что мой настоящий хост (myRealLdap.com.br
) подключается и рукопожатия в порядке. Конечно, фальшивый URL не может быть найден, но разве это не реалистичное моделирование c для "выключенного сервера"?
Я использую wildfly 9.0.2
сервер с openjdk 1.8.0_242
.
Спасибо