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

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

现在,我需要将其更改为Windows身份validation,以便每当用户点击我的Web应用程序的URL,而不是redirect到login页面,我需要检查他的Windows凭据。

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

有没有什么好办法做到这一点?

Solutions Collecting From Web of "基于Java的Web应用程序的Windows身份validation,如何?"

根据您希望您的Web应用程序所具有的集成级别, Spring Security应该涵盖您所处理的所有方面。

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

如果您希望获得更多的单点登录(SSO)流程,并且您的用户已经针对有问题的权威Active Directory服务器(例如他们登录到域)进行了身份验证,那么Spring Security的Kerberos插件可能更具吸引力,因为你的用户只需要去Web应用程序,而不必经过任何其他的认证步骤。 系统将在幕后照顾它。

如果您使用基于Kerberos的身份验证,并且如果遇到这种情况,您也可以将这些方法合并/分层,回退到登录表单和基于LDAP的身份验证。

如果您需要超越这个范围,Spring Security足够灵活,可以根据需要使用OpenID或应用内认证。

我建议使用活动目录来暴露LDAP的Windows身份验证层,然后可以像Spring Security一样 。

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