Ошибка ldap_bind
Sep. 8th, 2009 10:51 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Задача: нужно проверять авторизацию по LDAP. Очевидное решение:
Но возникла засада - ldap_bind всегда возвращал TRUE (т.е. сигнал успешной авторизации), даже если логин и пароль были неверные. Косяк ли это в самой функции, или же в нашем ldap-сервере - хз, нагуглить что-то про этот баг не удалось.
Решение:
то есть если после неудачной авторизации попытаться что-либо с лдапом сделать (я делал поиск), то он нас обоснованно пошлёт нафиг. А там достаточно посмотреть, возникла ли ошибка.
$ldap = ldap_connect($ldap_server); ldap_bind($ldap, $username, $password) or echo "ERROR";
Но возникла засада - ldap_bind всегда возвращал TRUE (т.е. сигнал успешной авторизации), даже если логин и пароль были неверные. Косяк ли это в самой функции, или же в нашем ldap-сервере - хз, нагуглить что-то про этот баг не удалось.
Решение:
$ldap = ldap_connect($ldap_server); ldap_bind($ldap, $username, $password); @ldap_search($ldap,"ou=поволжье,dc=megafonvolga,dc=ru","SN=А*"); //давим вывод ворнингов if (ldap_errno($ldap)<>0) return (false); else return (true);
то есть если после неудачной авторизации попытаться что-либо с лдапом сделать (я делал поиск), то он нас обоснованно пошлёт нафиг. А там достаточно посмотреть, возникла ли ошибка.
no subject
Date: 2009-09-08 12:33 pm (UTC)