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

Как я могу выяснить мою строку подключения LDAP?

Мы находимся в корпоративной сети, в которой запущен активный каталог, и мы хотели бы протестировать некоторые вещи LDAP (фактически, поставщик членства в активном каталоге), и пока никто из нас не может понять, что такое наша строка подключения LDAP. Кто-нибудь знает, как его найти? Единственное, что мы знаем, - это домен, в котором мы находимся.

Поставщик членства в ASP.NET Active Directory выполняет аутентифицированную привязку к Active Directory, используя указанное имя пользователя, пароль и «строку подключения». Строка подключения состоит из имени сервера LDAP и полного пути к объекту-контейнеру, в котором находится указанный пользователь.

Строка подключения начинается с URI LDAP://.

В качестве имени сервера вы можете использовать имя контроллера домена в этом домене - скажем, «dc1.corp.domain.com». Это дает нам LDAP://dc1.corp.domain.com/ до сих пор.

Следующий бит - это полный путь к объекту-контейнеру, в котором находится пользователь привязки. Допустим, вы используете учетную запись «Администратор», а имя вашего домена - «corp.domain.com». Учетная запись «Администратор» находится в контейнере с именем «Пользователи», расположенном на один уровень ниже корня домена. Таким образом, полное DN контейнера «Пользователи» будет: CN=Users,DC=corp,DC=domain,DC=com. Если пользователь, с которым вы выполняете привязку, находится в OU, а не в контейнере, путь будет включать «OU = ou-name».

Итак, используя учетную запись в OU с именем Service Accounts это подразделение подразделения с именем Corp Objects это подразделение домена с именем corp.domain.com имел бы полностью квалифицированный путь OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com.

Объедините LDAP://dc1.corp.domain.com/ с полным путем к контейнеру, в котором находится пользователь привязки (например, например, LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com) и у вас есть "строка подключения".

(Вы можете использовать имя домена в строке подключения, а не имя контроллера домена. Разница в том, что имя домена преобразуется в IP-адрес любой контроллер домена в домене. Это может быть как хорошо, так и плохо. Вы не полагаетесь на то, что какой-либо один контроллер домена будет запущен и работает для того, чтобы поставщик членства работал, но имя может разрешить, скажем, DC в удаленном месте с неоднородным сетевым подключением, тогда у вас могут быть проблемы с членством провайдер рабочий.)

Тип dsquery /? в командной строке.

Например: dsquery user -name Ja* получает строки подключения для всех пользователей с именами, начинающимися на Ja *.

Я просто использую этот инструмент от Softerra (они делают отличный бесплатный LDAP-браузер), чтобы получить DN пользователя от текущего пользователя, вошедшего в систему: http://www.ldapbrowser.com/download.htm

У меня всегда были проблемы с поиском правильного способа набрать OU. Команда dsquery ou domainroot предоставит вам список правильных имен всех OU в вашем домене. Не уверен, поможет ли это более крупной организации.

  1. Установите средства удаленного администрирования сервера: http://www.microsoft.com/en-us/download/details.aspx?id=7887

  2. Откройте командную строку и введите> dsquery server

Для получения дополнительной информации, пожалуйста, проверьте этот пост (внизу сообщения): http://www.schiffhauer.com/mvc-5-and-active-directory-authentication/

Если вы откроете ADSIedit, он должен показать вам путь, когда вы выберете Подключиться к ...

Полный синтаксис находится в http://www.faqs.org/rfcs/rfc2255.html

Я нашел самый простой способ:

Вы также можете найти

Сервер Active Directory -> Выберите организационное подразделение OU -> Щелкните правой кнопкой мыши -> Свойства -> Редактор атрибутов -> DistinguishedName

Я получил их от Microsoft Windows Server 2012 R2