检测使用Java登录计算机的用户

我想开发一个可以检测登录Window Domain的用户的Java应用程序。 这些凭据将用于登录Java应用程序。

我怎样才能做到这一点?

谢谢!

System.getProperty("user.name") 

如果您需要域名,可以使用:

  com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem(); System.out.println(NTSystem.getName()); System.out.println(NTSystem.getDomain()); 

再见。

注意:System.getProperty(“user.name”)仅在用户启动应用程序时有效。 如果程序由系统或LANDesk等应用程序运行,则用户将显示为“SYSTEM”(在域“NT AUTHORITY”下)。

在这种情况下,使用NTSystem的第二个解决方案将返回正确的结果。

我注意到,主题启动者随后在评论中询问他/她是否可以在Java webapp中使用它,每次都回答“否”。 如果您在服务器端运行特定代码,则会出现这种情况,但如果您在客户端以applet或jnlp的forms运行它,而不是在请求的jsp / html页面中运行它。 然而,它必须在之后将所需信息发送到服务器端。