Задать вопрос
SwoDs
@SwoDs
PHP YII2

Как бороться с лимитом в 1000 записей LDAP?

Прошу посоветовать как быть, нужно четкое решение.

Задача:
Авторизировать пользователей по логину паролю на веб морде, логин пароль проверять на серверАХ LDAP

Проблемы:
Серверов порядка 15 штук, пользователь может быть на любом из серверов, т.е. проверка делается с перебором всех серверов и попыткой ldap_bind(), если юзер к несчастью оказывается на сервере который в конце списка, то авторизация длиться порядка 2 минут. Что не правильно.

Попытка решить проблему:
Самый быстрый способ, опрос всех серверов ночью и вбивание их в свою базу, так при входе мы точно будем знать к какому серверу конектиться, причем у нас обычно сначала делают учетку и только через 2-3 дня комп настраивают, т.е. не будет такого что человек не зайдет. Но тут возникла проблема, ldap_search не возвращает более 1000 строк, а если их более то кидает ошибку. Использование LDAP_OPT_SIZELIMIT результата не дал.

Хелп ми =)
  • Вопрос задан
  • 1247 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
SwoDs
@SwoDs Автор вопроса
PHP YII2
Решением моей задачи оказалось такая штука - «Глобальный каталог» (globalcatalog)
А вот решение как получить более 1000 записей было в ldap pager, только это штука не во всех версиях есть
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
e_svirsky
@e_svirsky
Web Developer
То что юзер ищется на всех серверах - не очень круто. Нужна единая точка входа которая знает про то где хранится юзер - на каком сервере, и только туда запрос слать. Это же сколько вхолостую нужно запросов слать... Я бы сделал перед ним отдельный сервак, который отвечает только за авторизацию, ну и у него есть инфа кто где хранится. Авторизовался - перекинули на app сервак уже нужный.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы