Работает ли LDAP в среде ActiveDirectory? - PullRequest
0 голосов
/ 13 сентября 2018

Я работаю над независимым Java-приложением в среде Active Directory, и обычный способ аутентификации - SingleSignOn.
Но там у меня есть несколько интерфейсов, которые не поддерживают единый вход. И теперь я думаю об использовании LDAP для аутентификации пользователей для приложений.

Мой вопрос: возможно ли реализовать LDAP в среде ActiveDirectory?

  • Если да: как это работает вместе и что я должен делать именно?
  • Если нет: есть ли другие альтернативы, кроме SSO?

1 Ответ

0 голосов
/ 26 сентября 2018

Контроллеры домена Active Directory функционируют как серверы LDAP. Серверы будут иметь открытый текстовый протокол LDAP, привязанный к порту 389, а серверы, которые могут автоматически регистрироваться для получения сертификата, будут иметь шифрованный по протоколу ssl LDAP, привязанный к порту 636.

Active Directory в качестве сервера LDAP в основном , как и любой другой сервер LDAP, НО имена схем меняются. Там, где вы обычно видите uid в LDAP, Microsoft использует sAMAccountName или userPrincipalName. Домен основан на компонентах домена (dc = что-то) вместо организаций (o = что-то). Но основные понятия остаются прежними.

Вы можете просмотреть запись SRV для домена, чтобы получить список подходящих контроллеров домена для использования в качестве сервера LDAP, вы можете настроить VIP балансировщика нагрузки для начала каталога и добавить контроллеры домена, предназначенные для обработки LDAP-. исходящий трафик аутентификации, или вы можете использовать основной хост ldap со вторым хостом, который будет использоваться, если тот не сможет подключиться.

Если вы используете LDAP-SSL (и это правильно), вам нужно добавить открытый ключ (и) для цепочки CA в файл cacerts, если администраторы домена не прошли через процесс получение сертификатов DC, подписанных государственным центром сертификации. Подключайтесь к серверам AD через LDAP, связывайте с системными кредитами, ищите пользователя - что-то вроде (& (sAMAccountName = WhatUserEntered)) - в базовом DN организации, возвращайте объекту полностью квалифицированный DN, связывайте с полностью квалифицированным DN и пароль, предоставленные пользователем. Проверьте код результата, чтобы определить, прошла ли аутентификация.

...