Apache – как получить переменную REMOTE_USER

Вопрос:

Раньше я использовал сервер 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 из Apache24\modules и поместите ее в папку модулей вашей папки 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, распространяемый, чтобы заставить его работать.

Оцените статью
TechArks.Ru
Добавить комментарий