Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье приведены некоторые подходы, чтобы избежать проблемы, по которым запросы ldap с подчиненными рефералами не выполняются должным образом.
Область применения: Windows 8
Исходный номер базы знаний: 2561166
Симптомы
У вас есть приложение, которое выполняет поиск в Active Directory со страницами с помощью ldap_search_ext или ldap_search_ext_s, и оно предназначено для отслеживания ссылок. При поиске по корне домена NC страницы поиск по страницам завершается преждевременно после первой страницы.
В приложении файл cookie с страницей, который он получает, пуст, и таким образом приложение завершает запрос. В трассировке сети можно убедиться, что запрос на страницы возвращает непустый файл cookie вместе с одним или несколькими рефералами. Большинство запросов не будет видеть результирующий набор при погоне за рефераловой, так как часто объекты, поиск которых выполняется в домене NC, не существуют в подчиненных NCs, если они также не являются контроллерами домена.
Приложение также может получить "операционную ошибку" после первой страницы.
Контроллер домена возвращает подчиненные ссылки для следующих контекстов именования:
- При поиске корня леса: конфигурация NC (за которым следует ссылка на схему NC)
- При поиске корня леса: ForestDnsZones NC
- DomainDnsZones NC
- Все дочерние домены. И рекурсивно все дочерние домены вниз по всему дереву домена.
Причина
Существует несколько проблем при погоне за ссылками во время страничного запроса:
- При погоне за контекстами именования, расположенными на том же сервере (см. 1., а может быть, 2. и 3. выше), отслеживание происходит в том же сеансе LDAP, очистка файла cookie, возвращенного в основном запросе в среде выполнения LDAP клиента.
- Когда последняя реферальная ссылка, преследуемая также превышает размер страницы, файл cookie рефералов, полученный из последней NC, используется для продолжения первичного поиска. Это приводит к сбою поиска LDAP с "операционной ошибкой", так как файл cookie не соответствует знаниям сервера об индексе и индексе поиска.
- Когда основной поиск выполняется с помощью простой привязки без SSL, отслеживание рефералов завершается сбоем с "операционной ошибкой", так как клиент LDAP предназначен для того, чтобы не отправлять учетные данные с четким текстом при погоне за рефералами.
Решение
В настоящее время нет решения проблемы.
В приложении можно использовать следующие подходы, чтобы избежать проблем:
- Используйте базовый DN, который позволяет избежать возврата сервером подчиненных рефералов, например поиск подразделения в корневом объекте домена.
- Выполните поиск по глобальному каталогу вместо корневого домена леса. Необходимо убедиться, что все нужные атрибуты присутствуют в GC, и что вы действительно хотите, чтобы весь лес вместо дерева домена, который вы искали ранее.
- Если вы не хотите, чтобы рефералы были автоматически преследоваться: по мере того как рефералы преследуются по умолчанию, используйте ldap_set_option с флагом LDAP_OPT_REFERRALS, чтобы отключить преследование рефералов. Вы всегда можете выполнять рекомендации вручную после завершения основного запроса.
- Используйте элемент управления LDAP_SERVER_DOMAIN_SCOPE_OID при поиске, он отключает ссылки продолжения при поиске корней домена.