java - 我如何从 java web 应用程序跟踪用户 Windows 登录名

标签 java windows ip web-hosting

如何从 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/

相关文章:

java - 一次实现不同环境的 Lombok 扩展(javac、Eclipse、IntelliJ IDEA 等)

xml - EventLog XML查询过滤器日期范围

java - java中的打印机问题

java - Stack 和 Heap 是否都存在于您的系统 RAM 中?

java.lang.ArithmeticException : divide by zero

python - GetLastInputInfo 和 GetTickCount 不一致

c++ - 串行端口 : ReadFile and CloseHandle

java - LAN 网络和 ZONG 4G 上的 IP 地址返回不同

php - 如果我的服务器有多个 IP 地址,我如何使用每个 IP 地址运行脚本?

java - 运行配置单元 0.12,出现 slf4j 错误