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

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

Date: 2009-09-08 12:33 pm (UTC)
From: [identity profile] ximik827.livejournal.com
классно, спасибо) Возьму на заметочку такой финт ушами :)

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 Jul. 11th, 2025 08:11 am
Powered by Dreamwidth Studios