2013-08-28 28 views
0

在websphere SAML SSO中,我們將「com.ibm.ws.security.web.saml.ACSTrustAssociationInterceptor」配置爲TAI類。SAML TAI類的位置和邏輯ACSTrustAssociationInterceptor

根據我對TAI類的理解, 步驟1)SAML TAI從SAML響應中推導出用戶名。並對SP應用程序聲明相同。說它聲稱用戶「kaushik」實際上不存在於應用程序中。如果用戶的SP應用 步驟3)如果用戶不存在應用程序存在 步驟2)的SP應用然後檢查中,我們被重定向到錯誤頁面(配置爲sso_1.sp.acsErrorPage)

現在我的問題: - 1)我的理解是否正確? 2)如果它是正確的,當SP沒有要求的用戶時,控制如何回到TAI類? 3)什麼是包含「com.ibm.ws.security.web.saml.ACSTrustAssociationInterceptor」的jar? 4)WAS AppServer中的jar位置是什麼。我找不到任何地方

回答

1

你的理解並不完全正確。在步驟1中,SAML TAI確實從SAML響應中推斷出用戶名。它以SAML TAI custom properties確定的方式執行此操作。第2步是我相信你開始流浪的地方。這裏的術語「應用程序」太籠統了。如果將idMap定製屬性配置爲localRealm,則SAML TAI將檢查爲現有用戶的安全域配置的WAS註冊表。否則,假設是idAssertion,它會創建一個短暫用戶,它存在於JAAS主題中,但不在註冊表中。

我不記得哪個WAS應用程序庫包含SAML TAI代碼。這些知識不需要使用SAML TAI。如果您的目的是反向編譯SAML TAI代碼以澄清您的理解,我想鼓勵您首先研究一個developerWorks article on the SAML TAI,其中介紹了使用WAS提供常見的基於Web的SSO方案。它描述瞭如何配置SAML TAI定製屬性以承擔各種用例。它還討論了SAML TAI如何利用新的通用TAI功能,使其能夠在多個階段掛鉤安全模型。

+0

明白了。 SAML TAI查詢WAS註冊表。你知道這樣做的代碼/邏輯嗎?我需要在該自定義類中創建一個自定義TAI類(與SAML無關),我想檢查WAS註冊表中是否存在用戶。 –

+0

[com.ibm.websphere.security.UserRegistry](http://pic.dhe.ibm.com/infocenter/wasinfo/v8r0/topic/com.ibm.websphere.javadoc.doc/web/spidocs/com/ ibm/websphere/security/UserRegistry.html)界面很有幫助。獲取實現的示例在[高級驗證文章](http://www.ibm.com/developerworks/websphere/techjournal/0508_benantar/0508_benantar.html)的清單4中說明。 – pglezen