Наши разработчики используют Java на Linux для различных вещей (как проверка членства групп и т.д.). Это работает - без проблем с этим!
Проблема состоит в том, что у них есть hardcoded имена серверов наших Контроллеров домена (LDAP-серверы) в их коде. Таким образом, теперь, когда мы должны заменить их более новым DCS, они должны изменить код.
Active Directory по своей природе избыточен. Доменное имя (пример: domain.local), циклический алгоритм всего доступного DC:s для нашего AD.
Есть ли какой-либо способ для разработчика НЕ указать имена серверов Контроллера домена, но просто доменное имя Active Directory, и затем их сервер Linux будет находить доступное DC:s и использовать, какой бы ни каждый в порядке?
Примеры/ссылки ценятся.Спасибо!
Очевидно, что имя сервера должно быть по крайней мере настраиваемым, а не жестко закодированным в приложении.
Однако, вы должны иметь возможность найти сервер, просмотрев специальную запись DNS, а именно SRV-запись для _ldap._tcp.DOMAINNAME
. Серверы linux должны быть настроены на использование того же DNS-сервера, что и обновления AD.
Чтобы определить, возможно ли это, выполните команду host -t srv _ldap._tcp.DOMAINNAME
на вашем linux-сервере
Смотрите также Запрос записей службы DNS для поиска имени хоста и TCP/IP предоставляет некоторую информацию о том, как искать SRV-записи в java, и https://community.oracle.com/blogs/kohsuke/2008/06/12/more-active-directory-integration-java