我遇到这个问题已经有一段时间了。 我已经设置了一个 Windows IIS。但我想读取调用页面的人的 Windows 用户名。
在其他网站上有作为解决方案:$_SERVER['REMOTE_USER']; 但这对我不起作用。我猜是因为调用页面的用户是匿名用户。 为了解决这个问题,我在 Windows IIS 管理器中打开了身份验证。 IIS-Manager Authentication
但这也没有解决我的问题。 我现在的问题是:有没有人知道我如何解决这个问题?
是的,有办法做到这一点。
由于您使用的是 Windows IIS,因此您应该能够使用此 exec()
命令。
exec("wmic /node:$_SERVER[REMOTE_ADDR] COMPUTERSYSTEM Get UserName", $user);
echo($user[1]);
我从这里的 this answer 得到了 this question。
我在本地 Windows 机器上对其进行了测试,它对我来说很有吸引力。
为我工作:
<?php
$username = gethostbyaddr($_SERVER['REMOTE_ADDR']);
echo($username);
?>