我在Windows 2008服务器R2上运行了一个PHP应用程序,它使用PHP的LDAP库对用户进行Active Directory身份验证。
根据this answer,我希望使用$_SERVER['AUTH_USER']
,但我得到一个空值。 AUTH_TYPE
和AUTH_PASSWORD
也是如此。声明变量,但它们都没有赋值给它们。
我已启用基本身份验证和Windows身份验证角色(通过服务器管理器),但都没有解决问题。
我正在使用PHP 5.3.14,Zend Server CE和IIS 7.5。
我需要对解决方案应用单一登录,但无法获取当前登录用户的凭据,我不知所措。
非常感谢任何帮助。
答案 0 :(得分:12)
我通过在IIS中禁用匿名身份验证并启用Windows身份验证(我认为已启用Windows身份验证,但事实证明该角色已安装完毕,我认为它已正常工作。)现在$_SERVER['AUTH_USER']
和$_SERVER['REMOTE_USER']
人口稠密。
答案 1 :(得分:2)
我相信经过身份验证的用户的正确索引是$_SERVER['REMOTE_USER']
。
答案 2 :(得分:1)
根据PHP documentation,正确的索引似乎是PHP_AUTH_USER
。
尝试使用$_SERVER['PHP_AUTH_USER']
。