Sep. 8th, 2009

pozitronik: (Default)
Задача: нужно проверять авторизацию по 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);

то есть если после неудачной авторизации попытаться что-либо с лдапом сделать (я делал поиск), то он нас обоснованно пошлёт нафиг. А там достаточно посмотреть, возникла ли ошибка.

December 2016

S M T W T F S
    123
45678910
1112131415 1617
18192021222324
25262728293031

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 3rd, 2025 07:13 am
Powered by Dreamwidth Studios