如何使用Spring和Active Directory实现单点登录

我有一个基于Spring的Web应用程序,我想在上面实现一个单点登录解决方案。

基本流程为:

1)用户登录到Windows工作站/台式PC(根据组织的Active Directory进行身份验证)

2)用户打开浏览器并导航到Spring Web App。

3)Spring Web App以某种方式确认用户已经针对AD进行身份验证,并无缝地允许他们进入,即没有用户名和密码的质询。事实上,Spring网络应用程序永远不会显示登录表单。

显然,这是我遇到麻烦的第3步。

我看过Spring Security,Kerberos,SPNEGO,但我认为我只是把自己搞糊涂了。

如果它有所作为,我使用的是Java 6,在Spring 3的Jetty上运行。Jetty 实例将在 *Nix 计算机上运行。


答案 1

我已经为我的客户实现了同样的事情。我们在基于spring的Web应用程序(充当服务提供商)中使用spring-saml,并使用ADFS作为身份提供商(IDP)。

您可以从此链接获取配置部件的帮助。如果您遇到与实施或设置问题相关的任何问题,我会为您提供帮助。

基本上,您的 Web 应用将充当 SP,而 ADFS 将被视为 IDP。您需要交换两个元数据文件,该文件只不过是用于通信的证书。


答案 2

推荐