2013-01-24 248 views
0

目前我們有一個網絡應用程序,它使用spring Security作爲基於角色的身份驗證和授權。 因爲我們要使用SSO我看到這個例子來春與Openam整合https://wikis.forgerock.org/confluence/display/openam/OpenSSO+Spring+Security+%28Acegi%29+Integration 所以它就像Spring安全與OpenAM

我的網絡應用程序(使用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對話是一個好主意嗎? 有沒有輸入?

在此先感謝 拉姆

+0

什麼是IDP代理? OpenAM? –

+0

您是否被重定向到IDP進行身份驗證? –

+0

是IDP代理是另一個openam實例。 是的,我看到請求正在從IDP代理重定向到IDP。 – Reddymails

回答

2

好人們,我們得到了我們的JSF2網絡應用程序,通過與Spring SAML擴展和Spring Security一起集成來開放工作。 Spring SAML擴展是在這裏 - (https://github.com/SpringSource/spring-security-saml

所以現在我們從LDAP使用Openam作爲IDP拉取所有用戶角色,saml請求和響應由spring saml擴展處理。應用程序中基於角色的訪問由Spring Security控制。

我要感謝 弗拉基米爾·舍費爾 - 春天SAML的作者, 斯特凡 - 從opensaml團隊, 彼得Major-從Openam @鍛造石。

想補充這說明,讓別人知道的整合可以做JSF應用程序或任何其他Web應用程序,它使用了Spring安全SAML擴展(使用SAML 2.0端對端)。 終於有了單點登錄工作。 我很快就會發表一篇文章,並會更新這篇文章。

我能多增加一些注意事項,請參閱我的文章對 有關Openam概念 http://reddymails.blogspot.com/2013/03/sso-for-java-or-net-web-based.html

措施,把使用Spring SAML延伸和春季安全與Openam JSF 2的Web應用程序的通用信息。 http://reddymails.blogspot.com/2013/06/integrating-jsf-web-applicataion-with.html

感謝 拉姆

+0

因此,如果我理解正確,您不再使用openam fedlet嗎?我希望將我們的工作fedlet集成到spring-security中,但這不是要走的路嗎? –

+0

我們使用了Spring Saml Extension來擴展我們的基於J2ee的Web(JSF/JSP都可以)應用並與Openam集成。我們沒有使用Fedlet。上面的鏈接顯示了我們整合的步驟。它的工作從4年完美無缺:) – Reddymails

1

我看不到我的web應用程序和IDP代理

之間的任何SAML的有效載荷根據頁面,整合是非常類似於一個普通的代理做法。這可能意味着您使用SOAP和OpenAM與IDAM使用SAML協商應用程序與OpenAM對話。

但是,當我使用SAML示蹤劑(該插件的Firefox跟蹤SAML 請求/響應),我沒有看到我的web應用程序 和IDP代理之間的任何SAML的有效載荷。 Spring是否使用SOAP請求通過從AMConfig.properties中選擇URL來與IDP 代理交談?

如果情況正常,您應該在轉發到IDP時看到SAML身份驗證請求。 你應該做的是可能會開始通過OpenAM調試日誌耕種。 尤其是聯邦日誌。

我想過使用Fedlet,但讀取Fedlet 的saml響應並將其與Spring Security集成並不可行。如果Spring3不使用SAML2,那麼使用spring框架 與openam對話是個好主意嗎?任何投入?

有一個彈簧擴展,它允許您直接使用SAML。 http://static.springsource.org/spring-security/site/extensions/saml/index.html

你可以看看那個。

+0

我發現了幾篇關於使用spring作爲可以發送SAML的SP(服務提供者)的pdf。它在apache下授權。 需要閱讀更多看起來很有希望。 https://github.com/SpringSource/spring-security-saml/blob/master/saml2-doc/SpringSecurity%20SAML%20-%20documentation.pdf?raw=true 而 https://開頭的JIRA .springsource.org /安全/附件/ 15148/SpringSecurity + SAML + - + documentation.pdf – Reddymails

+0

是的,這是我在我的答案談論的一個。它基於OpenSAML,我已經做了很多工作,隨時提問=) –