Назад | Перейти на главную страницу

Доменное имя Active Directory для аутентификации

У меня есть фрагмент кода, который принимает строку ldap, имя пользователя и пароль, а затем пытается пройти аутентификацию на сервере ldap. Имя пользователя может содержать или не содержать доменное имя, например, "DOMAIN \ username" или "username" было допустимым вводом для этого кода.

Из строки ldap у меня будет четкий URL-адрес, который может выглядеть так: LDAP: //servername.com/DC=...etc. Если я выделю часть имени сервера, я получу «servername.com», «servername.corp» или еще много чего. Но если я попытаюсь войти в систему с помощью servername.com \ username, аутентификация не пройдет. Итак, один из вариантов - отделить последний «.», Если он есть. Это действительно с точки зрения активного каталога? Что произойдет, если есть такие поддомены, как xyx.servername.com?

Должен признать, что я недостаточно знаю об активном каталоге, чтобы ответить на вышеуказанные вопросы, и я не могу найти документацию, которая их объясняет. Некоторая документация, подтверждающая ваш ответ, действительно поможет!

Когда логин представлен как DOMAIN\user, DOMAIN - это NETBIOS-имя домена AD. Это как обычно самый нижний поддомен домена, но он может быть что-нибудь. Другой допустимый способ представления имени - суффикс UPN, т.е. user@domain.com. Проблема заключается в том, что администратор может иметь несколько имен UPN в домене, хотя по умолчанию используется полное доменное имя.

В принципе, если вы контролируете AD, вы должны это знать. Если вы этого не сделаете, вы не сможете знать наверняка.

При поиске источника аутентификации LDAP для различных пакетов с открытым исходным кодом подавляющее большинство выполнит аутентификацию LDAP за пару шагов. Этот метод обычно используется наиболее часто и работает для большинства реализаций LDAP, включая AD.

  • Клиент сначала подключится и свяжется с предопределенным пользователем, используя полную выдающееся имя и пароль.
  • Затем система выполнит поиск в каталоге, используя общие учетные данные, чтобы найти отличительное имя пользователя, пытающегося пройти аутентификацию.
  • Если действительный объект пользователя найден, то первоначальное соединение будет закрыто, и клиент попытается повторно подключиться и выполнить привязку, используя найденное отличительное имя и пароль, предоставленный пользователем.

С помощью AD можно выполнить аутентификацию без использования полного DN, но этот метод не подходит для некоторых других серверов LDAP, поэтому он используется не так часто.