как узнать url ldap
Как я могу выяснить мою строку подключения LDAP?
Мы находимся в корпоративной сети, в которой работает активный каталог, и мы хотели бы протестировать некоторые элементы LDAP (на самом деле, поставщика членства в активном каталоге), и до сих пор никто из нас не мог понять, какова наша строка подключения LDAP. Кто-нибудь знает, как мы можем найти его? Единственное, что мы знаем, это домен, в котором мы находимся.
Поставщик членства в ASP.NET Active Directory выполняет аутентифицированную привязку к Active Directory, используя указанное имя пользователя, пароль и «строку подключения». Строка подключения состоит из имени сервера LDAP и полного пути к объекту-контейнеру, в котором находится указанный пользователь.
Объедините LDAP://dc1.corp.domain.com/ с полностью определенным путем к контейнеру, где находится пользователь привязки (например, скажем LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com ), и вы получите свою «строку подключения».
(Вы можете использовать имя домена в строке подключения, а не имя контроллера домена. Разница в том, что имя домена будет преобразовано в IP-адрес любого контроллера домена в домене. Это может быть как хорошо, так и плохо. Вы не зависите ни от одного контроллера домена, который бы работал и работал для провайдера членства, но имя оказывается разрешающим, скажем, DC в удаленном месте с нестабильным сетевым подключением, тогда у вас могут возникнуть проблемы с членством провайдер работает.)
Глава 9. Функциональная модель LDAP
В этом разделе описываются команды протокола, которые клиенты и серверы LDAP используют «за кадром» при соединении друг с другом, и формат LDAP URL, который может использоваться при работе с современными браузерами, а также в сочетании с определёнными объектными классами и функциями (в первую очередь с динамическими группами).
Если Вам действительно нужно разобраться в этих вещах, неочевидный, но по-настоящему умный способ — использовать превосходный Open Source продукт wireshark (бывший ethereal), который выполнит для Вас полную разборку трафика — мы еще не сталкивались с таким протоколом, который не поддерживался бы wireshark. Замечательная программа.
Наконец, LDAP использует спецификацию ITU BER (Basic Encoding Rules), чтобы сэкономить по три байта при каждом трансфере. Вам понадобится раздобыть (за приличные деньги) стандарт X.690, в котором описан BER.
В качестве альтернативы Вы можете скачать книгу профессора John Larmouth «ASN.1 Complete» (распространяется свободно, но для её получения необходима регистрация), либо приобрести её бумажный экземпляр от издательства Morgan Kaufmann Publishers (ISBN: 0-12-233435-3). Можно также посмотреть книгу другого всемирно известного эксперта по ASN.1 Olivier Dubuisson «ASN.1 — Communication between heterogeneous systems» (распространяется свободно, но для её получения необходима регистрация). Опять же, можно приобрести бумажный экземпляр этой книги от Morgan Kaufmann Publishers (ISBN: 0-12-6333361-0). Кроме того, замечательную подборку ресурсов по ASN.1 и BER можно найти на этом сайте.
Содержание
9.1 Обзор функциональной модели
Уже совсем скоро (One day real soon now ™).
9.2 Общий формат
Уже совсем скоро (One day real soon now ™).
9.3 Примитивы (операции)
Уже совсем скоро (One day real soon now ™).
9.4 LDAP URL
LDAP URL — вещь полезная, но с элементом излишества. LDAP URL (RFC 4510 и RFC 4516) определяет метод, посредством которого Вы можете ввести что-то похожее на URL в адресную строку некоторых браузеров (MSIE 5.5+ и любые основанные на Gecko браузеры поддерживают ldap, Opera 7.x beta и Konqueror — нет) и те выполнят LDAP-запрос только на чтение к LDAP-серверу, используя параметры, указанные в данном URL. И MSIE, и Gecko позволят Вам добавить любые найденные записи в адресную книгу (создаётся впечатление, что эта функция реализована с помощью одного и того же программного кода).
Элемент излишества (мы, конечно, сильно придирчивы) — то, что браузер транслирует такой запрос в стандартный поисковый примитив LDAP. URL-нотация — всего лишь (полезный) интерфейс для работы через браузер. Однако, LDAP URL используются также для кое-чего более серьёзного, например, динамических групп (в сочетании с объектным классом groupOfURLs и его атрибутом memberURL). Динамические группы — нестандартная (нет соответствующего RFC), но широко реализованная функция LDAP. Неясно, наведут ли тут когда-нибудь порядок.
Формат LDAP URL
Синтаксис формата таков:
Схема. Может быть либо ldap — обычный доступ на стандартном порту 389 (либо нестандартном), либо ldaps — SSL-доступ на стандартном порту 636 (либо нестандартном).
Хост и порт. Необязательный параметр — если он пропущен, браузер использует значения по умолчанию. В противном случае задаёт URL хоста и, опционально, номер порта на данном хосте, например, ldapserver.example.com или ldapserver.example.com:8777 (используется нестандартный порт 8777).
Базовый DN поиска. Необязательный параметр — если он пропущен, браузер использует значение по умолчанию. В противном случае задаёт DN, который будет использоваться для поиска, например, ou=people,dc=example,dc=com.
Атрибуты. Необязательный параметр — если он пропущен, будут возвращены все доступные атрибуты для найденной записи. В противном случае задаёт те атрибуты, которые необходимо вернуть, в виде списка, разделённого запятыми, например, cn,mail,telephonenumber.
Диапазон поиска. Необязательный параметр — если он пропущен, подразумевается base. В противном случае задаёт диапазон поиска и принимает одно из следующих значений:
Поисковый фильтр. Согласно документации это необязательное поле — если оно пропущено, подразумевается (objectclass=*). Судя по всему, это значение по умолчанию не поддерживается ни MSIE, ни Gecko — Вы должны указать что-нибудь, например, (objectclass=*). В противном случае задаёт текстовое представление поискового фильтра.
Расширения. Текущее RFC по LDAP URL (RFC 4516) не определяет никаких расширений.
Примеры LDAP URL
Подключение с использованием анонимного доступа к host.example.com на порт 389 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются все доступные атрибуты для найденных записей. Поиск осуществляется по базовому DN и на один уровень ниже. Возвращаются все найденные записи.
Подключение с использованием анонимного доступа к host.example.com на порт 9000 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются все доступные атрибуты для найденных записей. Поиск осуществляется по базовому DN и на один уровень ниже. Возвращаются все найденные записи.
Подключение с использованием анонимного доступа к хосту по выбору браузера (мы так и не смогли сообразить, как это можно настроить) на порт 389 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются все доступные атрибуты для найденных записей. Поиск осуществляется по базовому DN и на один уровень ниже. Возвращаются все записи с s или S в любом месте атрибута commonName:
Подключение с использованием анонимного доступа к host.exmple.com на порт 389 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются только атрибуты mail. Поиск осуществляется по базовому DN и на один уровень ниже. Возвращаются все записи, в которых есть один или несколько атрибутов mail:
Подключение с использованием анонимного доступа к host.example.com на порт 389 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются все доступные атрибуты для найденных записей. Поиск осуществляется по базовому DN и по всему дереву ниже базового DN. Возвращаются все записи, атрибут sn которых начинается на a или A.
Подключение с использованием анонимного доступа к ldap на локальном хосте (localhost) на порт 389 с базовым DN поиска ou=people,dc=example,dc=com. Возвращаются все доступные атрибуты для найденных записей. Поиск осуществляется по базовому DN и по всему дереву ниже базового DN. Возвращаются все записи, атрибут sn которых начинается на a или A.
Проблемы, комментарии, предположения, исправления (включая битые ссылки) или есть что добавить? Пожалуйста, выкроите время в потоке занятой жизни, чтобы написать нам, вебмастеру или в службу поддержки. Оставшийся день Вы проведёте с чувством удовлетворения.
Как узнать, на каком сервере размещается LDAP в моем домене windows?
Я также слышал слухи о том,что имя сервера (ldap://server/) не всегда необходимо, пока у меня есть dc=domain, dc=com В моей строке запроса, но до сих пор я мог работать с ним таким образом.
3 ответов
Если вы используете AD, вы можете использовать привязка независимая чтобы найти контроллер домена для домена по умолчанию, используйте LDAP: / / rootDSE для получения информации о сервере каталогов, как описано в связанной статье.
AD регистрирует записи ресурсов местоположения службы (SRV) на своем DNS-сервере, которые вы можете запросить, чтобы получить порт и имя хоста ответственного сервера LDAP в вашем домене.
просто попробуйте это в командной строке:
(при условии, что ваш сервер имен-это сервер имен объявлений, который должен функционировать должным образом)
если машина, на которой вы находитесь, является частью домена AD, ее серверы имен должны быть установлены на серверы имен AD (или, надеюсь, использовать путь DNS-сервера, который в конечном итоге разрешит ваши домены AD). Используя Ваш пример dc=domain, dc=com, Если вы посмотрите вверх domain.com на серверах имен AD он вернет список IP-адресов каждого контроллера AD. Пример из моей компании (с измененным доменным именем, но в остальном это реальный пример):
обратите внимание, что я на самом деле делаю запрос от не-AD машины, но наши серверы имен unix знают, чтобы отправлять запросы для нашего домена AD (пример.ad) на DNS-серверы AD.
Я уверен, что есть супер-гладкий способ windowsy сделать это, но мне нравится использовать метод DNS, когда мне нужно найти серверы LDAP с сервера, отличного от windows.
Lightweight Directory Access Protocol
LDAP URLs
An LDAP URL is a string that can be used to encapsulate the address and port of a directory server, the DN of an entry within that server, or the criteria for performing a search within that server. LDAP URLs have a handful of common uses in LDAP:
LDAP URLs may include the following components:
The following are examples of valid LDAP URLs:
LDAP URLs follow the basic constraints for URIs defined in RFC 3986 and therefore require that special characters be percent-encoded (i.e., each byte of the UTF-8 encoding of the character should be represented as a percent sign followed by the two hexadecimal digits that comprise identify that byte). In general, special characters include all characters except ASCII letters and digits, and the following symbols: dash, period, underscore, tilde, colon, forward slash, question mark, octothorpe, open square bracket, close square bracket, at sign, exclamation point, dollar sign, ampersand, single quote, open parenthesis, closing parenthesis, asterisk, plus sign, comma, semicolon, and equal sign.
However, there are also a couple of other special cases in LDAP URLs that require additional escaping. Those special cases include:
While LDAP URLs do provide a fairly compact way to identify an entry in a directory server or provide a set of search criteria, they do have a couple of pretty significant shortcomings. As previously discussed, the official LDAP URL specification allows only a scheme of “ldap” and therefore there is no way indicate any form of security. Some servers do use “ldaps” if communication with the server is expected to be secured with SSL/TLS), but the general expectation is that the client should have some knowledge of whether communication with a server should be secured. There is also no way for an LDAP URL to include authentication or authorization information, and again the general expectation is that if the client is expected to authenticate to the target server, then it should have some way of knowing how to do that.
The complete specification for LDAP URLs is provided in RFC 4516.
Как я могу определить строку подключения LDAP?
Мы находимся в корпоративной сети, в которой работает активный каталог, и мы хотели бы протестировать некоторые материалы LDAP (активный поставщик членства в каталогах, на самом деле), и пока никто из нас не может понять, что такое наша строка соединения LDAP. Кто-нибудь знает, как мы можем найти его? Единственное, что мы знаем, это домен, в котором мы находимся.
8 ответов
Поставщик членства в Active Directory ASP.NET выполняет аутентифицированное связывание с Active Directory с использованием указанного имени пользователя, пароля и «строки подключения». Строка подключения состоит из имени сервера LDAP, и находится полный путь к объекту-контейнеру, в котором указан указанный пользователь.
Объедините LDAP://dc1.corp.domain.com/ с полным пути к контейнеру, в котором находится пользователь привязки (например, LDAP://dc1.corp.domain.com/OU=Service Accounts,OU=Corp Objects,DC=corp,DC=domain,DC=com ), и у вас есть «строка подключения».
(Вы можете использовать имя домена в строке подключения в отличие от имени контроллера домена. Разница в том, что имя домена будет разрешено к IP-адресу контроллера домена any в домен. Это может быть как хорошим, так и плохим. Вы не зависите от того, что какой-либо один контроллер домена должен работать и работать для поставщика членства, но имя, как правило, разрешается, например, DC в удаленном месте с пятнистым сетевое подключение, то у вас могут возникнуть проблемы с работающим поставщиком членства.)