Протестируйте приложение, используя LDAP - PullRequest
2 голосов
/ 01 декабря 2011

Я нахожусь на стадии подготовки к тестированию приложения, которое будет использовать LDAP для аутентификации пользователя.Какие у вас могут быть советы или подсказки для этой работы?

Я не очень разбираюсь в LDAP, но я верю, что все, что будет использовано, - это вызовы приложения-клиента в LDAP с именем пользователя и проверкапароль совпадает.Это точное описание?Кроме того, какие крайние случаи для тестирования?Спасибо.

Ответы [ 4 ]

2 голосов
/ 01 декабря 2011

Аутентификация LDAP часто (но не всегда) представляет собой двухэтапный процесс: сначала приложение выполняет запрос LDAP, чтобы найти «отличительное имя» (dn) учетной записи, к которой пользователь пытается аутентифицироваться, затем пытается войти в систему. in ("bind", на языке LDAP) как dn, используя предоставленный пользователем пароль.

Если попытка «связать» работает, приложение знает, что пароль правильный. (Сервер LDAP, скорее всего, не настроен на то, чтобы приложение могло фактически извлечь пароль и выполнить сравнение по понятным причинам безопасности).

Для приложения с поддержкой LDAP обычно требуется способ настройки:

  • имя хоста / порт сервера LDAP
  • база поиска (например, dc = mycompany, dc = org)
  • фильтр поиска пользователя (например, "(| (cn =% userid) (mail =% userid))")
  • учетные данные приложения для начального запроса LDAP (если сервер не разрешает анонимные запросы)

Скорее всего, вам потребуется поддержка SSL, поэтому вы не отправляете пароль пользователя на сервер LDAP в открытом виде.

1 голос
/ 01 декабря 2011

Это сильно зависит от вашей технологии.

Если вы напрямую запрашиваете ldap, вам нужно заботиться о производительности, например, как быстро ваши запросы, как часто вы должны их выполнять и если ваш сервер имеет соответствующий размер.

Если вы используете какой-то контейнер, который обеспечивает SSO, тогда они обычно имеют некоторые функции кэширования и т. Д. Там вы должны проверить, все ли работает правильно.

0 голосов
/ 04 декабря 2011

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

И потрудитесь протестировать с интересующими вас серверами LDAP, Active Directory, OpenLdap, Apache LDAP Server и некоторыми другими, они могут демонстрировать различное поведение.

Также проверьте, правильно ли обрабатывает клиент «рефералы», например, при попытке поиска пользователей в другом домене (например, два forrests AD с установленным forrest trust).

0 голосов
/ 01 декабря 2011

Вам потребуются функции ldap_connect и ldap_bind. Также, когда вы связаны с сервером ldap, вы можете искать записи в ldap и получать информацию о пользователе.

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