如何从 Web 应用程序跟踪用户 Windows 登录名?
我尝试了 Java 中的一些现有方法,但它显示了服务器的 Windows 登录名。
userAgent = request.getHeader("User-Agent");
最佳答案
对于一般互联网客户来说,简短的回答是不能。 Web 服务器不会从客户端的 Web 浏览器获取任何信息以允许其查看用户名(这样做会产生安全问题)。
用户浏览器上运行的 JavaScript 也将无法计算出用户名。使用浏览器扩展也许是可能的,但是这样你就远远超出了简单的解决方案,并且进入了“坏主意”领域。
如果您正在执行 Intranet 操作,而您的用户位于同一域或网络上,您可以尝试让服务器执行系统调用或使用本地操作系统工具来找出答案。例如:
wmic.exe /node:192.168.33.2 ComputerSystem Get UserName
请注意,只有当您拥有查询其他计算机的权限(例如域管理员)时,类似的操作才会起作用。这对于一般的互联网内容根本不起作用。
最终,只有当您的 Web 服务器和客户端计算机共享相同的身份验证机制(即 samba、NTLM、Kerberos 等)时,这才可能实现。
关于java - 我如何从 java web 应用程序跟踪用户 Windows 登录名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31890511/