你能在PHP中获得Windows(AD)用户名吗?

2022-08-30 10:37:15

我在内部网上有一个PHP Web应用程序,可以在该页面上提取当前用户的IP和主机名,但我想知道是否有一种方法可以获取/提取他们的Active Directory / Windows用户名。这可能吗?


答案 1

检查请求变量。如果你的 Web 应用允许匿名访问,则此值将为空,但如果你的服务器使用基本身份验证或 Windows 集成身份验证,则它将包含经过身份验证的用户的用户名。AUTH_USER

在 Active Directory 域中,如果您的客户端正在运行 Internet Explorer 并且您的 Web 服务器/文件系统权限配置正确,IE 将以静默方式将其域凭据提交到您的服务器,并且用户无需显式登录到您的 Web 应用程序。AUTH_USERMYDOMAIN\user.name


答案 2

我已经在IIS上运行了php mysql - 如果我在IIS中打开Windows身份验证->身份验证并关闭匿名身份验证(重要),则可以使用$_SERVER["AUTH_USER"]

我用它来获取我的用户和域:

$user = $_SERVER['AUTH_USER'];

$user将返回一个类似:在我们的网络上的值,然后它只是从字符串中删除的情况。DOMAIN\usernameDOMAIN\

到目前为止,这已经在IE,FF,Chrome,Safari(测试)中起作用。


推荐