Настройка аутентификации Windows для Apache

Начнем с того, что я искал в Интернете около часа, пытаясь выяснить, как это сделать безуспешно, поэтому я пишу этот вопрос.

У меня есть сайт интрасети, который требует доступа к имени пользователя Windows (не серверу, на котором работает Apache, а пользователю, который обращается к сайту интрасети).

Я установил adLDAP, и он работает так, что пользователь может войти в него, чтобы проверить группу, в которой он находится. Но для того, чтобы мой сайт был более безопасным, я бы предпочел получить доступ к имени пользователя Windows.

Я видел, что есть модуль apache под названием mod_auth_sspi, но я не мог найти, как установить его или даже реализовать (использовать) в своем коде.

Я использую Apache v2.4, PHP 5.6.8 на Windows Server 2008.

4

Решение

Итак … я узнал, как это сделать после нескольких часов поиска в Google … действительно, было бы проще найти ответ, но, тем не менее, вот оно:

1) Загрузите следующий модуль для вашей системы (32 бит 64 бит): https://www.apachehaus.net/modules/mod_authnz_sspi/

2) Вставьте файл в папку ваших модулей. /apache/modules/

3) Отредактируйте следующие файлы конфигурации:

3.1) php/php.ini: Раскомментировать extension=php_ldap.dll линия.

3,2) apache/conf/httpd.ini: Добавьте следующее в конец раздела LoadModules:

LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so

3.3) Найти <Directory отметьте и удалите открывающий и закрывающий теги вместе с его содержимым. Затем вставьте следующее:

<Directory />
Options None
AllowOverride All
Order allow,deny
Allow from all
AuthName intranet
AuthType SSPI
SSPIAuth On
SSPIAuthoritative On
SSPIOfferBasic On
SSPIOmitDomain On
Require valid-user
</Directory>

Затем после перезапуска Apache все должно работать. Получить имя пользователя Windows через <?php echo $_SERVER['PHP_AUTH_USER'] ?>

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]