Java:如何从IE浏览器访问Window凭证

时间:2012-02-06 15:47:49

标签: java windows security java-ee-6 tomcat7

如何检索在java中访问我的Web应用程序的当前登录Windows用户的凭据

从独立应用程序,我可以使用

访问登录窗口用户的用户ID
com.sun.security.auth.module.NTSystem NTSystem = new com.sun.security.auth.module.NTSystem();
System.out.println(NTSystem.getName());

但是,这不适用于Web应用程序,因为它将始终打印出运行Tomcat的用户的id,而不是访问Web应用程序的用户的id

我之前看到过这个,如果我通过IE访问网站,它会自动登录我,但我使用其他浏览器,然后弹出一个登录框。知道怎么做到这一点,谢谢?

我的网络应用程序是使用Tomcat 7在JSF中编写的。

2 个答案:

答案 0 :(得分:1)

您需要使用可以接收IE将发送的Kerberos令牌的库(假设它配置了集成Windows身份验证)。

这样做有多种方法/库,在Apache的Tomcat站点上有详细记录。在这里:http://tomcat.apache.org/tomcat-7.0-doc/windows-auth-howto.html

答案 1 :(得分:1)

您有一些不同的选择来实现这一目标。 Tomcat对他们的homepage有一些建议。我已经使用了IIS前端和弹簧安全性kerberos扩展,它们工作得很好。