【问题标题】:Apache - how to get REMOTE_USER variableApache - 如何获取 REMOTE_USER 变量
【发布时间】:2014-01-26 11:24:46
【问题描述】:

以前我使用 IIS 服务器作为 PHP 服务器。目前是apache。

在 IIS 上,我可以访问变量 $_SERVER ['REMOTE_USER'],它返回用户名和域(例如域\用户),但在安装 XAMPP 后,此变量不可用。

我应该怎么做才能让这个变量再次得到?

我的应用在本地网络上,没有互联网连接

【问题讨论】:

    标签: apache fastcgi


    【解决方案1】:

    只有当 Apache 已经对用户进行了认证,你才能访问远程用户,检查the apache auth howto

    【讨论】:

      【解决方案2】:

      终于搞定了! :D

      1. 从这里下载模块https://www.apachehaus.net/modules/mod_authnz_sspi/(x86 用于 32 位,x64 用于 64 位 apache)

      2. Apache24\modules 文件夹中复制 mod_authnz_sspi.so 并将其放在您的网络服务器上 Apache 文件夹的 modules 文件夹中

      3. 在 httpd.conf 文件(您的 apache 的配置文件)下放置这行代码。尝试将其作为最后一个模块加载:

        LoadModule authnz_sspi_module modules/mod_authnz_sspi.so

      4. 确保以下模块未注释

        LoadModule authn_core_module modules/mod_authn_core.so

        LoadModule authz_core_module modules/mod_authz_core.so

        PS:需要以上两个模块才能正常工作。

      5. 将以下代码放入您的 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>
        
      6. 重新启动您的 apache 服务,希望它应该重新启动而不会出现任何问题。

      7. 现在为了识别用户,在 php 页面上使用以下代码

        回显 $_SERVER['PHP_AUTH_USER'];

      就是这样。

      我正在使用:

      • XAMPP 控制面板 3.2.1
      • APACHE 2.4

      【讨论】:

      • 有人将它与新的mod_authn_ntlm 模块进行比较吗? mod_authnz_sspi 和 mod_authn_ntlm 似乎都在同一时间发布。有什么不同吗?
      【解决方案3】:
      <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
      

      【讨论】:

        【解决方案4】:

        我为此奋斗了很长时间,结果我必须安装 VC redistributable 才能使其工作。

        【讨论】:

        • 运行xampp的机器是否应该注册到域中?
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2016-12-15
        • 1970-01-01
        • 2012-02-02
        • 1970-01-01
        • 1970-01-01
        • 2013-12-04
        相关资源
        最近更新 更多