我正在使用PHP的Intranet Web应用程序。 我试图使用Windows NTlogin凭据login到应用程序。 我在这里遇到的麻烦是如何获得远程用户的Windows用户名? 我想获取用户名,然后检查各种LDAP组,以便我可以将它们引导至我的应用程序中的相应页面。
我到目前为止尝试过
<?php echo $_SERVER['REMOTE_USER']; echo $_SERVER['PHP_AUTH_USER']; ?>
他们都返回空值。
更新:使用$ _SERVER ['REMOTE_ADDR']我能够获得计算机的IP地址。 有无论如何我可以得到userid /用户名(任何独特的),并用它来比较LDAP组? 我想这样做,当他们进入网站的主页和存储会话,然后在整个网站使用会话variables。
不知道你是否仍然需要这方面的帮助,但最近我不得不创建代码,以使用IIS运行的Windows身份验证自动登录到我们的网站的Intranet用户。 使用Windows身份验证和ISS为了获取登录用户首先确保您已启用Windows身份验证和匿名禁用。
$_SERVER['AUTH_USER']; // obtain the LanID of the logged in user.
如果你需要更多的信息,让我知道。
您必须先发送NTLM-Authenticate标头。 之后,$ _SERVER-Vars中应该有合适的用户
header('WWW-Authenticate: NTLM'); echo $_SERVER['AUTH_USER'];
AFAIK这只适用于InternetExporer – 浏览器