Полная версия этой страницы:
Необходима помощь
Столкнулся с очень важной и очень насущной проблемой.
На работе на сервере Win2000 стоит PHP, Apache и MySQL, с которыми я работаю.
Сетка в организации имеет доменную структуру. Мне необходимо сделать авторизацию на Web-страничке, выдрав имя пользователя, который на эту страничку зашел, из Active Directory.
Нашлась некоторая библиотека, имя которой php_ntuser.dll
Нашелся и скрипт под нее.
Скрипт сам по себе состоит из двух частей:
1. Выводит список пользователей домена и подробную информацию по случайному пользователю.
2. Должна выводить информацию о настоящем пользователе т.е. о том, кто к скрипту обратился.
Почему должна? Потому что не работает.
Не знаю, бьюсь уже почти неделю. Крупномасштабные поиски в Сети результатов почти не дают.
Может кто знаком с проблемой и может помочь с ее решением?
Psixodinochka
24.4.2006, 9:31
Цитата(ICEMan @ 20.01.2006 - 13:01)
Столкнулся с очень важной и очень насущной проблемой.
На работе на сервере Win2000 стоит PHP, Apache и MySQL, с которыми я работаю.
Сетка в организации имеет доменную структуру. Мне необходимо сделать авторизацию на Web-страничке, выдрав имя пользователя, который на эту страничку зашел, из Active Directory.
Нашлась некоторая библиотека, имя которой php_ntuser.dll
Нашелся и скрипт под нее.
Скрипт сам по себе состоит из двух частей:
1. Выводит список пользователей домена и подробную информацию по случайному пользователю.
2. Должна выводить информацию о настоящем пользователе т.е. о том, кто к скрипту обратился.
Почему должна? Потому что не работает.
Не знаю, бьюсь уже почти неделю. Крупномасштабные поиски в Сети результатов почти не дают.
Может кто знаком с проблемой и может помочь с ее решением?
ну че получилося?
Цитата(Psixodinochka @ 24.04.2006 - 10:31)
ну че получилося?
Не-а...
Я пошёл другим путем - выдрал из Active Directory информацию по всем пользователям и на на её основе сформировал свою БД пользователей, а потом уже от неё отталкивался.
Но все равно неудобно. Проще, конечно, автоматическая авторизация, которая была бы незаметна для ползователя. Но, похоже, не судьба. В Сети по этому вопросу практически ничего не нашёл, а тестировать в корпоративной сетке самописные библиотеки народных умельцев не рискну.
А что - вот
ЭТО уже отменили
?
И еще...
Цитата
If you're looking to use PHP to integrate LDAP with AD (I'm working with Win2K3), you may want to tinker with the LDP.exe tool included (no resource kit needed!!) with Win2k and Win2K3. You can run this app right from the command line.
The Win2K3 Help function was a good start point, and then pointed me to an article in the M$ KB:
http://support.microsoft.com/default.aspx?...kb;en-us;255602 (XADM: Browsing and Querying Using the LDP Utility).
So ... if your connect/bindings are working but your queries are not, you may want to start here. I'm finding it very useful when I run it on the local AD to see the attributes, etc.
ЭТО никто не отменял.
Но раз уж ты такой сообразительный скажи мне...
Изоткуда мне узнать какой из пользователей AD пришёл на страницу?
Всё, что я прочитал - основы работы с LDAP, построение запросов... работа с базой фактически.
А мне нужно знать какой из пользователей этой базы пришёл на страницу.
я могу тебе объяснить, но ты сначала поясни, какую авторизацию ты используешь и какие браузеры у пользователей
Какую авторизацию использую сейчас или какую хотел бы использовать?
Сейчас пользователи вводят всё это счастье ручками на странице приветствия.
Я же хочу сделать что бы пользователь, набрав адрес страницы автомалически логинился. для этого мне нужно узнать имя учетной записи (сеанса), под которой в данный момент сидит пользователь, зашедший ко мне на страницу. Остальной процесс авторизации - дело техники и меня так сильно не волнует. Мне нужно знать только имя пользователя. Незаметно для него, естественно.
Значит так, используй механизм базовой аутентикации. В ИЕ есть в зоне безопасности настойка "использовать системные/доменные логин/пароль" то есть он не будет выдавать всплывающее окно для ввода пароля, если юзер авторизован при входе в систему, а будет посылать сразу его данные.
Дрегие браузеры будут выдавать окно для ввода логина/пароля, но с этим ничего не поделаешь, к сожалению
А имя пользователя потом в header'ах отлавливать?
http://www.php.net/manual/en/features.http-auth.phpДумаю, в комментариях ты найдешь то, что тебе нужно.
Угу, спасибо... на досуге буду шаманить.
К слову, читал уже это всё. Только не на php.net, а где-то в другом месте. Пытался сделать. Долго мудрил, применял метод танца с бубном, однако тогда ничего не получалось. Может сейчас получится.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.