2011-08-26 2 views
0

Мы используем LDAP для аутентификации пользователей. Другая сторона LDAP-канала - очень большая реализация Active Directory. Мы находим, что запрос аутентификации занимает слишком много времени (15 секунд и более).Каков наилучший общий запрос LDAP для аутентификации пользователей в AD?

Вот представление о том, что мы делаем:

ldap://ldap.myco.com/DN?dc=myco,dc=com??sub?(sAMAccountName=John) 

Что является лучшим способом для достижения этой цели является способом, который будет хорошо работать для любой гиганта реализации AD?

Спасибо!

+0

Можете ли вы добавить еще один компонент к базовому объекту и сузить область действия до «одного»? –

+0

У нас нет никакой информации относительно логической структуры на стороне AD. Во всех случаях развертывания AD существует ли значение DN, так что «одна» область может использоваться вместо «sub»? – jeff7091

ответ

3

sAMAccountName определенно проиндексирован, хотя ваш поиск также включает компьютеры и группы. Вы также можете получить его с помощью (&(objectCategory=person)(objectClass=user)(samAccountName={0})).

Большой вопрос: почему вы начинаете поиск, чтобы начать? Если все, что вы хотите сделать, это проверить имя пользователя и пароль с помощью привязки LDAP, выполните привязку к LDAP: // DC = myco, DC = com и получите доступ к myDirectoryEntry.NativeObject. Если вы выбрали исключение, у вас возникнет проблема.

Факс: Факс:

. Что такое "ldap.myco.com"? Это балансировка нагрузки? Это имя вашего домена? Вы должны иметь возможность делать безсерверное связывание здесь ...

0

Если sAMAccountName проиндексирован, этот запрос должен быть O (1) или O (log (N)) в зависимости от структуры индекса. Если это занимает 15 секунд, это звучит как O (N), что означает, что он не индексируется.

0

Брайан Десмонд находится на месте с его ответом (и я поддержал его как таковой). Вы получите лучшую производительность от простого связывания.

Для обеспечения избыточности (и для распределения нагрузки) у вас должно быть несколько контроллеров постоянного тока, доступных для привязки. Алгоритм, используемый клиентами Microsoft AD для поиска DC (основанный на членстве на сайте и SRV RR весах и значениях предпочтений), является нетривиальным, но вы можете приблизиться, получив адреса (или имена) нескольких контроллеров домена для привязки.

Смежные вопросы