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

时间:2009-04-07 11:06:47

标签: java active-directory

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

我该怎么做?

谢谢!

4 个答案:

答案 0 :(得分:12)

System.getProperty("user.name") 

答案 1 :(得分:12)

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

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

再见。

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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