Настройка проверки подлинности Windows для Apache


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

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

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

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

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

Author: Callum Luke Vernon, 2015-12-07

1 answers

Итак... Я узнал, как это сделать, еще через несколько часов погуглив... это действительно должно быть более прямолинейно, чтобы найти ответ, но, тем не менее, вот он:

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
Author: Callum Luke Vernon, 2016-01-05 10:31:41