0

目前,我们有一个使用 spring Security 进行基于角色的身份验证和授权的 web 应用程序。由于我们想使用 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 对话是个好主意吗?任何输入?

提前谢谢拉姆

4

2 回答 2

2

好的,伙计们,我们通过与 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-application-with.html

谢谢拉姆

于 2013-03-19T18:47:11.633 回答
1

I don't see any SAML payloads between My web app and IDP proxy

According to the page, the integration is very similar to a normal agent approach. This probably means that you app talks to OpenAM using SOAP and OpenAM talks to the IDP using SAML.

But when I use the SAML tracer (The plugin for Firefox to track SAML requests/Responses) I don't see any SAML payloads between My web app and IDP proxy. Is it that Spring is using SOAP request to talk to IDP proxy by picking urls from AMConfig.properties ?

If things are working correctly you should see a SAML authentication request when you are forwarded to the IDP. What you should do is probably start plowing through the OpenAM debug logs. Especially the Federation log.

I thought of using Fedlet but reading the saml response from Fedlet and integrating that with Spring Security is not feasible. If Spring security3 doesn't use SAML2 is it a good idea to use spring framework to talk to openam ? Any inputs ?

There is an spring extension that allows you to use SAML directly. http://static.springsource.org/spring-security/site/extensions/saml/index.html

You could have a look at that.

于 2013-01-25T07:19:21.547 回答