有没有办法使用 Html、php 等获取当前的 Windows 登录用户名?

发布时间:2021-02-25 07:42

我遇到这个问题已经有一段时间了。 我已经设置了一个 Windows IIS。但我想读取调用页面的人的 Windows 用户名。

在其他网站上有作为解决方案:$_SERVER['REMOTE_USER']; 但这对我不起作用。我猜是因为调用页面的用户是匿名用户。 为了解决这个问题,我在 Windows IIS 管理器中打开了身份验证。 IIS-Manager Authentication

但这也没有解决我的问题。 我现在的问题是:有没有人知道我如何解决这个问题?

回答1

是的,有办法做到这一点。

由于您使用的是 Windows IIS,因此您应该能够使用此 exec() 命令。

exec("wmic /node:$_SERVER[REMOTE_ADDR] COMPUTERSYSTEM Get UserName", $user);
echo($user[1]);

我从这里的 this answer 得到了 this question

我在本地 Windows 机器上对其进行了测试,它对我来说很有吸引力。

回答2

为我工作:

<?php
$username = gethostbyaddr($_SERVER['REMOTE_ADDR']);     
echo($username);
?>