Вопрос:
Раньше я использовал сервер IIS в качестве PHP-сервера. В настоящее время это apache.
В IIS я мог получить доступ к переменной $_SERVER [‘REMOTE_USER’], которая возвращает имя пользователя и домен (например, доменпользователь), но после установки XAMPP эта переменная недоступна.
Что я должен сделать, чтобы снова получить эту переменную?
Мое приложение находится в локальной сети без подключения к Интернету
Лучший ответ:
Наконец-то он работает!: D
-
Загрузите модуль здесь https://www.apachehaus.net/modules/mod_authnz_sspi/ (x86 для 32-разрядных и x64 для 64-разрядного apache)
-
Скопируйте папку mod_authnz_sspi.so из Apache24modules и поместите ее в папку модулей вашей папки Apache на веб-сервере
-
В файле httpd.conf(файл конфигурации для вашего apache) поместите эту строку кода. Попробуйте загрузить это как последний модуль:
LoadModule authnz_sspi_module modules/mod_authnz_sspi.so
-
Убедитесь, что следующие модули раскоментированы
LoadModule authn_core_module modules/mod_authn_core.so
LoadModule authz_core_module modules/mod_authz_core.so
PS: для этого необходимы оба вышеуказанных модуля.
-
Поместите следующий код в файл httpd.conf
<Directory «path/to/your/htcdocs/folder»> Options None AllowOverride All Order allow,deny Allow from all #AuthName «SSPI Protected Place» AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIOfferBasic On SSPIOmitDomain On Require valid-user </Directory>
-
Перезапустите службу apache и, надеюсь, он перезагрузится без каких-либо проблем.
- Теперь, чтобы распознать пользователя, используйте следующий код на странице php
echo $_SERVER [‘PHP_AUTH_USER’];
Что все.
Я использую:
- Панель управления XAMPP 3.2.1
- APACHE 2.4
Ответ №1<Directory «path/to/your/htcdocs/folder»> Options None AllowOverride All Order allow,deny Allow from all #AuthName «SSPI Protected Place» AuthType SSPI SSPIAuth On SSPIAuthoritative On SSPIOfferBasic On SSPIOmitDomain On Require valid-user </Directory>
Если вы используете ModRewrite или другое, я предлагаю вам сохранить
Options Indexes FollowSymLinks Includes ExecCGI
иначе вы получите сообщение об ошибке, например
[rewrite:error]: Options FollowSymLinks and SymLinksIfOwnerMatch are both off, so the RewriteRule directive is also forbidden due to its similar ability to circumvent directory restrictions Ответ №2
Вы можете получить доступ только к удаленному пользователю, если Apache фактически аутентифицировал пользователя, отметьте apache auth howto.
Ответ №3
Я сражался с этим в течение долгого времени, оказалось, что мне пришлось установить VC, распространяемый, чтобы заставить его работать.