Автор Тема: Как лучше на php реализовать авторизацию посредством данных из Active directory?  (Прочитано 4685 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
Добрый день!
Ситуация такая. На 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) задачи?

Спасибо!

Оффлайн Xander

  • санитар леса
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 1780
  • +0/-0
  • 2
    • Просмотр профиля
docker
по второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.
•••Jah\'d never let us down!•••

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
to Xander - спасибо.

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

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

Выдает Operations error.
Как правильно составлять такие запросы?? Где бы почитать об этом?

Оффлайн ThE0ReTiC

  • Главный по тарелочкам
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 4041
  • +2/-0
  • 2
    • Просмотр профиля
    • http://
AS IS...

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
Ясно, но это фильтр. с фильтром понятно все.
А вот какой "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

Оффлайн docker

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 36
  • +0/-0
  • 0
    • Просмотр профиля
    • http://www.dedowskstudio.ru
Цитировать
Xander:
dockerпо второму пункту сказать ничего не могу, а вот первый можно реализовать, включив в настройках IIS аутентификацию средствами Windows. Работать будет только под Internet Explorer.


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

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28