基于Java的Web应用程序的Windows身份验证,如何?

时间:2012-03-19 16:11:18

标签: java windows authentication web-applications

我开发了几个基于Java的Web应用程序。这两个应用程序都有基于某些ActiveX目录实现的单独的身份验证逻辑。

现在,我需要将其更改为Windows身份验证,以便每当用户点击我的Web应用程序的URL时,不需要将他重定向到登录页面,我需要检查他的Windows凭据。

我不想将他的Windows凭据存储在URL中。

有没有好办法呢?

2 个答案:

答案 0 :(得分:9)

根据您希望您的网络应用程序具有的集成级别,Spring Security应该让您了解您所追求的所有方面。

如果可以接受重定向到登录页面并通过LDAP对Active Directory服务器输入的凭据进行身份验证,那么LDAP extension就可以了。

如果您想要更多的单点登录(SSO)流,并且您的用户已经针对相关的权威Active Directory服务器进行了身份验证(例如,他们已登录到域中),那么Kerberos plugin为Spring Security可能更具吸引力,因为您的用户只需要访问Web应用程序,就不必经过任何其他身份验证步骤。系统将在幕后处理它。

您还可以组合/分层这些方法,如果您首先尝试基于Kerberos的身份验证,如果这样做,则回退到登录表单和基于LDAP的身份验证。

如果您需要超越这一点,Spring Security足够灵活,允许您在需要时使用OpenID或应用内身份验证。

答案 1 :(得分:1)

我建议使用Active Directory通过LDAP公开它的Windows身份验证层,然后可以点击Spring Security之类的内容。

这将有效地强制任何使用您的应用程序的人使用他们的Windows登录。