Java 如何获取运行web应用程序的用户的windows登录用户名?

Java 如何获取运行web应用程序的用户的windows登录用户名?,java,javascript,servlets,Java,Javascript,Servlets,我正在尝试获取web应用程序中用户的windows用户名。有人能建议如何得到它吗 我正在开发一个web应用程序。因此,如果用户正在访问我的应用程序,那么我需要获取该用户的windows id和主机名。我试过几种不同的方法,但都不管用。非常感谢您的建议。在YERY OLD(!)版本的Internet Explorer中,URL中的模式%USER%已被登录用户名替换。但在当前的浏览器中,这已经不起作用了,这样很好 使用JAVA小程序,您可以通过以下方式请求: System.getProperty("

我正在尝试获取web应用程序中用户的windows用户名。有人能建议如何得到它吗

我正在开发一个web应用程序。因此,如果用户正在访问我的应用程序,那么我需要获取该用户的windows id和主机名。我试过几种不同的方法,但都不管用。非常感谢您的建议。

在YERY OLD(!)版本的Internet Explorer中,URL中的模式%USER%已被登录用户名替换。但在当前的浏览器中,这已经不起作用了,这样很好

使用JAVA小程序,您可以通过以下方式请求:

System.getProperty("user.name")

但我不知道这是否适用于您…

Windows用户详细信息不是以普通HTTP请求发送的,这使得您无法在没有额外数据的情况下从web应用程序中的用户获取这些信息。 但是,发送请求的主机名在请求头中可用

如果您仍然想获得Windows用户的详细信息,您必须做一些工作,比如要求用户以某种形式提供这些信息,或者,如果您可以访问用户的命名/目录服务,您可以通过他的IP/主机名来了解情况。
但是,这在web应用程序中通常是不可用的。

我不确定是否确切获得windows用户名,但是
HTML5系统信息API
可能会提供一些有用的信息。浏览一次,您可能会发现它很有用。

有关intranet案例,请查看

在现代浏览器的常见情况下,这似乎是故意不可能的:


否。这将返回部署我的代码的系统的用户名。我听说可以通过.net实现。只是想知道它在JAVA中是否可行?不需要查询一些信息源。我想在.NET中也是这样做的。它是内部网web应用程序还是公共应用程序?如果是内部网,请看一下Kerberos,您的意思是从服务器?在这种情况下,你不能。您必须依赖于服务器可以访问的内容。这不是随请求一起发送的。因此,您必须询问用户。如果你的意思是从客户端的浏览器,我很肯定JavaScript也不会工作,因为浏览器认为这是安全的事情。除了请求或响应或请求报头,还有别的办法吗?