извлечение многозначных атрибутов DN с помощью ActiveLdap - PullRequest
0 голосов
/ 12 августа 2010

Некоторым пользователям в моем каталоге LDAP назначено несколько идентификаторов:

dn: uid=user1,ou=People,o=org
uid: user1
uid: nick1

dn: uid=user2,ou=People,o=org
uid: user2
uid: nick2

При попытке получить uid для этих пользователей с помощью ActiveLdap (например, User.uid) я получаю только первый атрибут uid, так как это атрибут DN.

Возможно ли с ActiveLdap получить их обоих?

1 Ответ

0 голосов
/ 12 августа 2010

Я только что столкнулся с этим пару недель назад: Запрос всех пользователей в системе с 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 секунды из плоского файла.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...