Forum Webscript.Ru
Программирование => PHP => Тема начата: docker от 11 Июля 2005, 13:45:13
-
Добрый день!
Ситуация такая. На win2000, на ISS, как isapi стоит php. Нужно:
1) Распознавать пользователей, зашедших в домен Active Directory. Т.е. пользователь после включения компьютера банально вводит свой логин и пароль входа в windows, затем обращается к странице на описанном интранет-сервере. При этом средствами php нужно узнать этот логин и пароль. Возможно такое?
2) Получить список всех пользователей домена AD.
Искал в поиске. Нашел, 2 варианта:
Такая задача как и ей подобные решается ldap-ом.
php_ntuser.dll
Установил php_ntuser.dll, но при попытке выполнения ntuser_getuserlist(\'DOMEN\'); - скрипт подвисает.. Мануалов по этой функции я не нашел. Похоже это не выход.Поправьте, пожалуйста, если это не так, и если я все же могу достигнуть своих целей с помощью этой библиотеки.
Значит через ldap, - тогда хотелось бы узнать точный список модулей, какие куда устанавливать. Нужен только php_ldap.dll подключить, или что-то еще? А то откопал темы, где пишут что при этом еще какую-то libsasl.dll нужно в system32 заливать?? И как добиться через ldap пункта 1) задачи?
Спасибо!
-
docker
по второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.
-
to Xander - спасибо.
Синтаксис запросов к ldap директориям Windows Active Directory кто-нибудь может подсказать?
Нужно выбрать например всех русских пользователей, делаю так
$sr = ldap_search($ldapconn, “o=My Company, c=RU”, “sn=S*”)
Выдает Operations error.
Как правильно составлять такие запросы?? Где бы почитать об этом?
-
то самое где-то (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/search_filter_syntax.asp)
-
Ясно, но это фильтр. с фильтром понятно все.
А вот какой "base DN" должен быть(второй параметр)??
resource ldap_search ( resource link_identifier, string base_dn, string filter....)
Препробовал множество вариантов:
$sr = ldap_search($ldapconn, "dc=ru", "(sn=*)"); - Ищет, но ничего не находит
$sr = ldap_search($ldapconn, "dc=domain", "(sn=*)"); - Ищет, но ничего не находит
$sr = ldap_search($ldapconn, "dc=domain", ""); - Выдает Can\'t contact LDAP server
$sr = ldap_search($ldapconn, "dc=example, dc=com", "(sn=*)"); - Ищет, но ничего не находит
$sr = ldap_search($ldapconn, "dc=<домен в локальной сети>", "(sn=*)"); - Ищет, но ничего не находит
$sr = ldap_search($ldapconn, "dc=<домен в локальной сети>, cn=users", "(sn=*)"); - Ищет, но ничего не находит
Все мимо - ищет - возвращается Resource id с нулями записей:
ldap_count_entries($ldapconn, $sr) == 0
-
Xander:
dockerпо второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.
А где в настройках ISS находится эта галочка???