2012-04-25 85 views

回答

14

驗證後,默認情況下ADFS應將用戶重定向到依賴方應用程序領域。聽起來這是你已經擁有的,但你希望能夠重定向到不同的RP URL。

假設您有一個RP,並在ADFS中配置了領域http://myrprealm.com。用戶瀏覽到http://myrprealm.com/Contacts.aspx。 WIF FederatedAuthenticationModule(FAM)認爲用戶沒有進行身份驗證,因此它會在名爲ru的返回URL參數中保存相對URL「/Contacts.aspx」。這個ru被打包在WS-Federation被動上下文參數(wctx)中。然後,FAM將用戶重定向到ADFS進行身份驗證。 ADFS將保留wctx參數並在成功驗證後將其回送給RP(http://myrprealm.com)。現在FAM處理這個ADFS響應。當FAM打開wctx時,它會注意到ru =/Contacts.aspx,因此在建立會話後,它會將用戶重定向到Contacts.aspx。

如果您使用SDK(Visual Studio>添加STS參考)將WIF整合到ASP.NET網站中,則默認情況下會出現此行爲。

+1

好的,所以我在ADFS中註冊了URL_1作爲端點URL。但是說用戶命中URL_2和URL_2配置爲將用戶重定向到ADFS以進行身份​​驗證。身份驗證後,ADFS將用戶重定向到URL_1。我希望它將其重定向到URL_2或用戶重定向到ADFS的一般URL _ {*}。任何指向這個? – Sam 2012-04-29 21:31:57

+1

您不希望ADFS重定向到URL_2,您總是希望它重定向到URL_1,WIF正在偵聽。 WIF將在URL_1處理響應,然後負責將用戶重定向到URL_2。請重新閱讀我的回覆,我已詳細闡述了細節。 – 2012-04-30 21:17:54

+0

@AndrewLavers - 我遇到了使用VS2013的相同問題,但是我似乎沒有添加STS參考的選項。我已將我的應用程序插入到ADFS中,但每次都重定向到根URL,而不是在wctx參數中指定的URL。我明白你上面談到的FAM處理響應的方式,但它似乎並不適用於本地。你能在這裏指出我正確的方向嗎? – Brosto 2014-10-30 17:09:52