Forum Webscript.Ru

Программирование => PHP => Тема начата: docker от 11 Июля 2005, 13:45:13

Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: 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) задачи?

Спасибо!
Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: Xander от 11 Июля 2005, 23:54:26
docker
по второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.
Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: docker от 12 Июля 2005, 10:27:40
to Xander - спасибо.

Синтаксис запросов к ldap директориям Windows Active Directory кто-нибудь может подсказать?

Нужно выбрать например всех русских пользователей, делаю так
$sr = ldap_search($ldapconn, “o=My Company, c=RU”, “sn=S*”)

Выдает Operations error.
Как правильно составлять такие запросы?? Где бы почитать об этом?
Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: ThE0ReTiC от 12 Июля 2005, 15:54:31
то самое где-то (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/adsi/adsi/search_filter_syntax.asp)
Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: docker от 12 Июля 2005, 16:41:45
Ясно, но это фильтр. с фильтром понятно все.
А вот какой "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
Название: Как лучше на php реализовать авторизацию посредством данных из Active directory?
Отправлено: docker от 13 Июля 2005, 15:20:45
Цитировать
Xander:
dockerпо второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.


А где в настройках ISS находится эта галочка???