我有一个运行在Windows 2008服务器R2上的PHP应用程序,它使用PHP的LDAP库根据Active Directory对用户进行身份验证。
根据这个答案,我想使用$_SERVER['AUTH_USER']
,但我得到了一个空白值。AUTH_TYPE
和AUTH_PASSWORD
也是如此。变量是声明的,但没有一个变量被赋予任何值。
我已经启用了基本身份验证和Windows身份验证角色(通过服务器管理器),但两者都没有解决问题。
我使用的是PHP 5.3.14、Zend Server CE和IIS 7.5。
我需要应用单一登录解决方案,但由于无法获取当前登录用户的凭据,我不知所措。
如有任何帮助,我们将不胜感激。
我通过在IIS中禁用匿名身份验证并启用Windows身份验证(我以为已经启用了Windows身份验证,但事实证明只是安装了角色。)现在$_SERVER['AUTH_USER']
和$_SERVER['REMOTE_USER']
已经填充完毕。
我认为经过身份验证的用户的正确索引是$_SERVER['REMOTE_USER']
。
根据PHP文档,正确的索引似乎是PHP_AUTH_USER
。
尝试使用$_SERVER['PHP_AUTH_USER']
。