Здравствуйте!
Подавляющее большинство примеров по 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
|