Единый вход с Apache на Windows 7 и Mod_auth_sspi
Я использую сервер apache (xampp 1.7.3) на локальном компьютере с Windows 7. Этот ПК подключен к локальной сети и домену Active Directory, который называется "цвета". Моё локальное имя пользователя - CHRISTOPHER-PC/Christopher, а имя пользователя домена - COLORS/Christopher.
Для подключения администратора к серверу AD я использую сценарий PHP под названием adLDAP. По умолчанию этот скрипт (examples/authenticate.php) предоставляет пользователю два поля ввода для входа в систему. Это отлично работает.
Но я хочу, чтобы мои пользователи автоматически входили в систему, если они вошли в свою учетную запись AD. Для этого я пытаюсь использовать модуль mod_auth_sspi. Но у меня есть некоторые проблемы...:\
Мой httpd.conf выглядит так:
<Directory "C:/xampp/htdocs">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Order allow,deny
Allow from all
AuthName "A Protected Place"
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIDomain colours
SSPIOfferBasic On
SSPIBasicPreferred On
require valid-user
</Directory>
Когда я захожу на http://localhost/ или http://my-ip-address/ (с другого компьютера), появляется диалоговое окно i и запрашивается имя пользователя и пароль домена. Я знаю, что это вызвано "требовать действительного пользователя", но если я удаляю его, пользователь не входит в систему автоматически.
2 ответа
Сделайте следующее:
- Добавьте встроенную аутентификацию в расширенную безопасность IE.
- Добавьте ваши URL (http://my-ip-address/) в доверенные зоны.
Я знаю, что это старый пост, но вы проверили, добавляете ли вы свой сайт в список доверенных в IE, что он останавливает всплывающее окно? Если вы сделаете это, в сочетании с require valid-user, он должен работать (с mod_auth_sspi).
Сервис> Параметры> Вкладка "Безопасность"> Локальная интрасеть> Сайты (кнопка) > Дополнительно (кнопка) > Добавить сайт с помощью этого экрана
НТН!
ps: в PHP следующие переменные будут иметь нужную информацию: $_SERVER["REMOTE_USER"] И $_SERVER["PHP_AUTH_USER"]. Они будут содержать "домен / имя пользователя".