使用Windows身份验证为Intranet应用程序的登录凭据(Use Windows authen

2019-08-16 23:47发布

我工作在PHP内部网的Web应用程序。 我试着去使用Windows NT登录凭据登录到应用程序。 这里有麻烦IM是如何获得远程用户的Windows用户名? 我想获得的用户名,然后检查对各种LDAP组,这样我可以引导他们到合适的在我的应用程序页面。

我到目前为止已经试过

<?php
echo $_SERVER['REMOTE_USER'];
echo $_SERVER['PHP_AUTH_USER'];
?>

它们都返回空值。

更新:使用$ _ SERVER [“REMOTE_ADDR”]林抽到了计算机的IP地址。 有反正我能得到用户名/用户名(任何唯一的),并用它来比较对LDAP组? 我想这样做,当他们进入该网站的主页和存储会话,然后使用整个网站的会话变量。

Answer 1:

不知道你是否还需要这方面的帮助,但最近我已经创建代码登录内网用户到我们的网站会自动使用其使用IIS运行Windows身份验证。 当使用Windows身份验证和ISS为了获取登录的用户首先确保您已启用Windows身份验证和匿名禁用。

$_SERVER['AUTH_USER']; // obtain the LanID of the logged in user.

如果您需要更多的信息让我知道。



Answer 2:

你必须先发送NTLM进行身份验证头。 在此之后,应该在$ _ SERVER-瓦尔正确的用户

header('WWW-Authenticate: NTLM');
echo $_SERVER['AUTH_USER'];

AFAIK这仅适用于InternetExporer - 浏览器



文章来源: Use Windows authentication as login credentials for intranet applications