我在运行Windows_Server-2008-R2_SP1-English-64Bit-Base-2014.04.09的AWS EC2上安装了PingFederate。我有一个使用Spring Security进行身份验证的Java应用程序。
我已经了解了如何使用PingFederate,我可以设置身份提供商(IdP)和服务提供商(SP)。我已经收集到,IdP将是提供登录凭证(身份)的应用程序用户,并将此传递给SP,该SP在此页面的此图中具有SP的目标应用程序:
http://documentation.pingidentity.com/display/PF66/Service+Providers+and+Identity+Providers
此图像还显示了IdP和SP两侧的联合身份软件。
我已经使用我的本地PingFederate服务器创建了一个IdP和SP,只是为了查看配置选项是什么,我很困惑,我实际上需要能够为我的Spring Security应用程序提供SSO。
我的问题是:
我是否需要一个IdP和SP来实现我想要做的事情。
现在我们的用户名和密码都存储在SQL Server中,我会利用它来PingFederate来验证用户吗?
我是否应该为此使用Spring Security SAML,或者其他路由更合适?
感谢您的帮助,我已经联系了PingFederate,但我的区域解决方案架构师恰好在星期五之前。
如果我完全不在思考中,我也会道歉,我正在努力将我的想法包围起来。
答案 0 :(得分:5)
假设您的目标是在Ping和您的应用程序之间建立联盟(为了例如外部化身份验证或启用单点登录),您的想法是正确的。
Ping Federate充当身份提供者(IDP),您可以将其配置为连接到SQL服务器,以便它可以从那里验证现有用户。 IDP与其他称为服务提供商(SP)的应用程序进行通信。
为了连接到Ping,您的应用程序因此需要能够充当SAML 2.0服务提供者,并且使用Spring SAML是一种非常好的方法来启用它。
SP和IDP之间用于单点登录的典型数据流类似于:
答案 1 :(得分:3)
假设你的Spring应用程序和PingFederate之间需要SAML。这不是真的,取决于它的部署方式和你是否(见Andy K后续问题)。您应该查看OpenToken Integration Kit for Java或者来自Ping的ReferenceID Int Kit作为可能的解决方案。比试图破解可能不需要的另一个SAML解决方案更容易集成。但是,我建议您与RSA联系,他们可以为您的方案提供最佳方法。