【问题标题】:Grab username from IE, to authenticate against LDAP从 IE 中获取用户名,以针对 LDAP 进行身份验证
【发布时间】:2009-09-18 06:13:36
【问题描述】:

用户将只使用 IE,并且在 IE 中,如果他们登录到域控制器,它可以在不提示的情况下传递他们的凭据。

我想知道的是,我该如何获取他们的用户名?

我认为这可以解决问题:$_SERVER['auth_user'];但没有运气。

就这样Can you get a Windows (AD) username in PHP?

但我不知道捕获/获取用户用户名的代码应该是什么样子

感谢任何帮助。

【问题讨论】:

    标签: php internet-explorer active-directory ldap


    【解决方案1】:

    没有办法直接在php中解决问题,但是可以借助javascript获取用户名:

    <script type="text/javascript">
    <!--
    var WinNetwork = new ActiveXObject("WScript.Network");
    alert(WinNetwork.UserName);
    //-->
    </script> 
    

    只需添加一些 AJAX ;)

    HTH

    【讨论】:

      【解决方案2】:

      如果您的 PHP 在 IIS 上运行,那么您可以将其锁定在该级别。我不确定您是否可以访问该用户名,但至少它仅适用于具有访问该站点的适当权限的经过身份验证的用户。希望这有点帮助。

      【讨论】:

        【解决方案3】:

        您必须在 IIS 中的应用程序文件夹上启用集成身份验证,然后您的方法才有效。

        你可以在 Apache 中使用 mod_auth http://rc.quest.com/topics/mod_auth_vas/

        【讨论】:

        • 我在 apache 服务器上运行它。可以在 apache 服务器上使用吗?
        • 刚刚发布到 IIS 服务器上,这是我的代码,打印 '

          '.$_SERVER['AUTH_USER'].'

          ';,它什么也没打印出来。我在 Windows XP 中登录到我的域,并使用 IE 7 查看页面。
        • 您还必须禁用匿名访问。
        猜你喜欢
        • 2016-07-26
        • 2018-03-11
        • 2010-10-07
        • 2015-07-16
        • 2017-10-16
        • 2012-07-18
        • 1970-01-01
        • 2015-07-28
        • 1970-01-01
        相关资源
        最近更新 更多