【问题标题】:Spring Security with OpenAM使用 OpenAM 的 Spring 安全性
【发布时间】:2013-01-24 21:46:39
【问题描述】:

目前我们有一个 web 应用程序,它使用 spring Security 进行基于角色的身份验证和授权。 因为我们想使用 SSO,所以我看到这个例子来集成 Spring 和 Openam https://wikis.forgerock.org/confluence/display/openam/OpenSSO+Spring+Security+%28Acegi%29+Integration 所以就像

我的 Web 应用(使用 spring 与 openam 对话) IDP 代理 IDP

但是,当我使用 SAML 跟踪器(用于 Firefox 跟踪 SAML 请求/响应的插件)时,我在我的 Web 应用程序和 IDP 代理之间看不到任何 SAML 有效负载。 是不是 Spring 使用 SOAP 请求通过从 AMConfig.properties 中选择 url 来与 IDP 代理通信?

我曾想过使用 Fedlet,但阅读 Fedlet 的 saml 响应并将其与 Spring Security 集成是不可行的。 如果 Spring security3 不使用 SAML2,使用 spring 框架与 openam 对话是个好主意吗? 任何输入?

提前致谢 拉姆

【问题讨论】:

  • 什么是 IDP 代理? OpenAM?
  • 您是否被重定向到 IDP 进行身份验证?
  • 是的 IDP 代理是另一个 openam 实例。是的,我看到请求正在从 IDP 代理重定向到 IDP。

标签: spring-security saml-2.0 openam


【解决方案1】:

好的,伙计们,我们通过与 Spring SAML 扩展和 Spring Security 以及 open am 集成使我们的 JSF2 Web 应用程序正常工作。 Spring SAML 扩展在这里 - (https://github.com/SpringSource/spring-security-saml)

所以现在我们使用 Openam 作为 IDP 从 LDAP 中提取所有用户角色,并且 saml 请求和响应由 spring saml 扩展处理。应用程序中基于角色的访问由 Spring Security 控制。

我要感谢 Vladimir Schaefer - Spring Saml 的作者, Stefan - 来自 opensaml 团队, Peter Major- 来自 Openam @ forge rock。

想添加此注释以让其他人知道可以对 JSF 应用程序或任何其他 Web 应用程序进行集成,并且它使用 Spring 安全 SAML 扩展(使用 SAML 2.0 端到端)。 我们终于有单点登录工作了。 我将很快发表一篇文章并更新这篇文章。

我可以添加更多注释,请参阅我的文章 与 Openam 概念相关的一般信息 http://reddymails.blogspot.com/2013/03/sso-for-java-or-net-web-based.html

使用 Spring SAML 扩展和 Spring Security 将 JSF 2 Web 应用程序与 Openam 集成的步骤。 http://reddymails.blogspot.com/2013/06/integrating-jsf-web-applicataion-with.html

谢谢 拉姆

【讨论】:

  • 所以如果我理解正确,您不再使用 openam fedlet 了吗?我希望将我们的工作 fedlet 集成到 spring-security 中,但这不是要走的路吗?
  • 我们将 Spring Saml Extension 用于我们基于 J2ee 的 Web(JSF/JSP 都可以)应用程序并与 Openam 集成。我们没有使用 Fedlet。上面的链接显示了我们为集成所采取的步骤。它从 4 年开始完美运行 :)
【解决方案2】:

我的网络应用和 IDP 代理之间没有看到任何 SAML 负载

根据页面,集成与普通代理方法非常相似。这可能意味着您的应用程序使用 SOAP 与 OpenAM 对话,而 OpenAM 使用 SAML 与 IDP 对话。

但是当我使用 SAML 跟踪器(Firefox 的插件来跟踪 SAML 请求/响应)我在我的 Web 应用程序之间看不到任何 SAML 有效负载 和 IDP 代理。是不是 Spring 正在使用 SOAP 请求与 IDP 交谈 通过从 AMConfig.properties 中选择 url 来代理?

如果一切正常,当您被转发到 IDP 时,您应该会看到 SAML 身份验证请求。 您应该做的可能是开始浏览 OpenAM 调试日志。 尤其是联邦日志。

我想使用 Fedlet,但阅读了 Fedlet 的 saml 响应 并且将其与 Spring Security 集成是不可行的。如果春天 security3 不使用 SAML2 使用 spring 框架是个好主意吗 与 openam 交谈?任何输入?

有一个 spring 扩展允许您直接使用 SAML。 http://static.springsource.org/spring-security/site/extensions/saml/index.html

你可以看看那个。

【讨论】:

猜你喜欢
  • 2017-02-15
  • 2012-10-28
  • 2017-07-04
  • 1970-01-01
  • 2015-12-07
  • 2015-04-10
  • 2019-09-23
  • 2013-09-15
  • 2016-04-15
相关资源
最近更新 更多