您可以使用PHP获得Windows(AD)用户名吗?
我在Intranet上有一个PHP Web应用程序,可以在该页面上提取当前用户的IP和主机名,但是我想知道是否还有一种方法来获取/提取其Active Directory / Windows用户名。 这可能吗?
16个解决方案
46 votes
检查AUTH_USER请求变量。 如果您的Web应用程序允许匿名访问,则此字段为空,但是如果您的服务器使用的是基本身份验证或Windows集成身份验证,则它将包含已验证用户的用户名。
在Active Directory域中,如果您的客户端运行的是Internet Explorer,并且您的Web服务器/文件系统权限配置正确,则IE会静默将其域凭据提交到您的服务器,而AUTH_USER将是MYDOMAIN\user.name,而无需用户明确登录到您的网站 应用程式。
Dylan Beattie answered 2020-07-10T18:28:37Z
16 votes
我已经在IIS上运行php mysql-如果在IIS中打开Windows身份验证->身份验证,然后关闭匿名身份验证(重要),则可以使用$user
我用它来获取用户和域:
$user = $_SERVER['AUTH_USER'];
$user将在我们的网络上返回一个值:DOMAIN\username,然后只是从字符串中删除DOMAIN\的情况。
到目前为止,该功能已在IE,FF,Chrome,Safari(已测试)中运行。
Schwarz.Oz answered 2020-07-10T18:2