Java - 如何获取操作系统登录用户名(来自域)?

时间:2012-09-26 12:17:48

标签: java windows authentication tomcat

我需要以下方案的帮助。

  1. 想象一下,最终用户会收到一封电子邮件(在其桌面上),其中包含指向Web应用程序的链接。那个应用程序我用Java构建,它运行在另一台专用机器上的Tomcat servlet之上。用户登录的工作站对域控制器(活动目录)进行身份验证。

  2. 我见过许多商业应用程序也运行在tomcat之上,并以某种方式将自己绑定到Microsoft IIS / AD,这样当最终用户访问他们的应用程序时,他们可以获得域用户登录并将它们单点登录到构建的Java应用程序中。长话短说,我必须做同样的事情

  3. 但从哪里开始?我所知道的是,目前我无法这样做,因为

    System.getProperty(“user.name”); 无法正常工作,因为它获取了针对应用程序进行过操作的用户。但现在的情况。 我需要的是获取操作系统的auth用户

    • 那么我应该将Java绑定到Tomcat并让我的最后一个绑定到IIS / AD吗?
    • 或者不知怎的,我可以让我的Java应用程序直接绑定到IIS并获得该操作系统登录的用户?

    非常感谢,Bruno Oliveira

1 个答案:

答案 0 :(得分:0)

您在上面提到的方案问题称为“单点登录

单独使用Web应用程序无法在桌面上记录用户信息。

要实现单点登录,您需要三个组件,即Active Directory,单点登录组件和Web应用程序

我希望您可以参考IBM developer works上的这篇文章来自行实施。 除此之外,市场上还有许多工具和商业组件 我希望这会对你有帮助..!