如何从java web应用程序跟踪用户的Windows登录名
如何从web应用程序跟踪用户的Windows登录名 我尝试了Java中的一些现有方法,但它显示了服务器的Windows登录名如何从java web应用程序跟踪用户的Windows登录名,java,windows,ip,web-hosting,Java,Windows,Ip,Web Hosting,如何从web应用程序跟踪用户的Windows登录名 我尝试了Java中的一些现有方法,但它显示了服务器的Windows登录名 userAgent = request.getHeader("User-Agent"); 您可以通过实现Kerberos或NTML身份验证来实现您的要求,然后您可以使用request.getRemoteUser() 我推荐Kerberos。添加Kerberos身份验证检查。它可以在大多数Servlet容器上运行 对于普通互联网客户端来说,简单的答案是你不能。web服
userAgent = request.getHeader("User-Agent");
您可以通过实现Kerberos或NTML身份验证来实现您的要求,然后您可以使用
request.getRemoteUser()
我推荐Kerberos。添加Kerberos身份验证检查。它可以在大多数Servlet容器上运行 对于普通互联网客户端来说,简单的答案是你不能。web服务器无法从客户端的web浏览器中获取任何信息以允许其查看用户名(这样做会造成安全问题) 在用户浏览器上运行的Javascript也将无法计算用户名。使用浏览器扩展可能是可行的,但这样一来,您就可以超越简单的解决方案,进入“坏主意”领域 如果你在做内联网的事情,而你的用户在同一个域或网络上,你可以尝试让服务器进行系统调用,或者使用本地操作系统工具来找出答案。例如:
wmic.exe /node:192.168.33.2 ComputerSystem Get UserName
请注意,只有在您拥有查询其他计算机的权限(例如,域管理员)的情况下,这样的操作才会起作用。这对一般的互联网内容根本不起作用
最终,只有当您的web服务器和客户端计算机共享相同的身份验证机制(即samba、NTLM、Kerberos等)时,这才可能实现。如果可能的话,您不认为这会侵犯隐私吗?