Я только что столкнулся с этим пару недель назад: Запрос всех пользователей в системе с LDAP
Это не проблема ActiveLDAP, скажем.
Здесьэто вещь, и я надеюсь сэкономить вам немного времени.с вашей схемой ldap, как есть, то, что у вас есть, является уникальным дн для каждого пользователя.Таким образом, если у вас есть 100 000 пользователей, у вас есть 100 000 папок, каждая из которых на верхнем уровне идентифицируется как уникальная по идентификатору.если ваша схема была настроена так:
dn: category=active,ou=People,o=org
uid: uid1
uid: nick1
, то вы можете запросить у всех активных пользователей перекрывающийся uid, потому что фильтр будет фильтровать до активных пользователей и выбирать из них пользователей с атрибутами uid x.
Как таковой, вы можете получить только на верхнем уровне dn, поэтому каждый фильтр будет фильтровать одного пользователя, поэтому его бесполезно.На самом деле я запросил мою резервную копию плоского файла базы данных ldap и извлек информацию таким образом.я использовал базовый рубин и просто разделил записи на новые строки, и сделал большой массив, если я правильно помню.У нас было около 130 000 записей, и я смог получить мой запрос за 2 секунды из плоского файла.