Windows Authentication for Java 基于 Web 应用程序,如何?

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

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

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

有什么好的方法可以做到这一点吗?


答案 1

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

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

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

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

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


答案 2

我建议使用Active Directory在LDAP上公开它的Windows身份验证层,然后可以被Spring Security之类的东西击中。

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


推荐