Сервер каталогов накладывает ограничение на:
- количество объектов, возвращаемых из поиска
- количество времени, потраченное на поиск
- количество записей для проверки при создании списка кандидатов
В зависимости от сервера ограничения могут быть наложены глобальной конфигурацией, политикой подключения клиента или на основе идентификатора аутентификации. Результат в поисковом ответе указывает, что часть результатов была возвращена клиенту. Клиент может (и должен) устанавливать ограничение размера и ограничение времени как часть поискового запроса, но эти ограничения, известные как ограничения, запрашиваемые клиентом, не могут переопределять ограничения сервера.
Правильно закодированный API будет возвращать записи, не превышающие количество записей. Другими словами, если есть 3 записи, которые соответствуют параметрам поиска, клиент устанавливает ограничение размера запрошенного клиентом 2, сервер возвращает 2 записи (в любом порядке записи LDAP не упорядочены, то есть упорядочение не повторяется) и установите код результата поиска на «превышение размера».
Хотя может быть общеизвестно, что AD использует 1000, приложения не должны быть закодированы с учетом поставщика, версии или конфигурации сервера. Это плохо, а не профессионально, и в результате получается хрупкий, не поддерживаемый код. Кодируйте свои приложения, так как сервер, к которому вы подключаетесь, является универсальным сервером LDAP, который полностью соответствует стандартам Директората LDAP в IETF.
Моя запись в блоге содержит некоторые обсуждения поисковых запросов и ответов на них, и я также создал статью LDAP: Programming Practices .