Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PHP и LDAP - информаиця о пользователе
Форумы портала PHP.SU » » Вопросы новичков » PHP и LDAP - информаиця о пользователе

Страниц (1): [1]
 

1. maxz - 24 Июля, 2017 - 13:42:17 - перейти к сообщению
Здравствуйте!

Подавляющее большинство примеров по php и ldap строится по следующей схеме:

1. ldap_connect
2. ldap_bind ($ldap, $username.$domain,$pass);

и далее осуществляется поиск этого пользователя:

3. $result = ldap_search($ldap,GET_GLOBAL("LDAP_BASE"),"(SAMAccountName=".$log_name.")",array('displayName'));

Но тут в нашей организации возникает проблема: каталог большой и старый. Далеко не все пользователи используют для входа в сервисы sAMAccountName, по которому большинство манов предлагает вести поиск. В качестве логина пользователь может указать email (чаще всего, но не всегда), UPN и т.д. - по всем этим идентификаторам сервер его пустит и прибиндит.
Но как тогда из php выяснить, имя пришедшего пользователя, или его DN, или хотя бы GUID? Словом хоть что-то что можно использовать в команде search. Ну или хотя бы как узнать, по каким атрибутом сервер считает то, что пользователь ввёл в веб-форму?


Должен же быть такой механизм. Хоть какой-то указатель на пользователя у нас должен оставаться после выполнения bind

 

Powered by ExBB FM 1.0 RC1