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

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

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

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

Благодарность!

0
jeff7091 26 Авг 2011 в 23:47

3 ответа

Лучший ответ

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

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

Кроме того, что такое "ldap.myco.com"? Это балансировщик нагрузки? Это имя вашего домена? Здесь у вас должна быть возможность выполнить бессерверную привязку ...

3
Brian Desmond 27 Авг 2011 в 02:56

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

0
user207421 27 Авг 2011 в 02:21

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

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

0
Evan Anderson 27 Авг 2011 в 14:03