2011-07-08 101 views
12

我們正在使用客戶ASP.NET按鈕註銷我們的使用ADFS進行身份驗證的Web應用程序。我們嘗試了幾種方法嘗試讓應用正常登出,但似乎沒有任何效果。ADFS 2.0 Web應用程序註銷

它通常會將您帶到聯合服務器上的註銷頁面,該頁面上顯示您已正確註銷,但如果您返回,仍然可以訪問該Web應用程序。

嘗試: HTTPS:// {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0

的https:// {DNS_name_of_RP_STS} /adfs/ls/?wa=wsignout1.0 & wreply = {post-sign-out_landing_URL} etc

有沒有人得到這個工作正常?

感謝您的時間

回答

8

據我所知,你只是將用戶重定向到ADFS與適當wssignout行動。這不會刪除爲您的應用程序創建的身份驗證Cookie,因此用戶保持登錄狀態。

我用WSFederationAuthenticationModule觸發聯合signout:

string absoluteUrl = HttpContext.Request.Url.AbsoluteUri; 
string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/") + 1); 
WSFederationAuthenticationModule.FederatedSignOut(null, new Uri(replyUrl)); 

我回答返回給應用程序,因爲我想確保用戶註銷。

希望這會有所幫助。

+0

非常感謝。我在註銷的鏈接按鈕的onclick事件中添加了代碼,它適用於我 – Miller

+0

如何在web.config中添加WSFederationAuthenticationModule? –

+0

您需要將其添加到''或''中的模塊集合中。如果您不確定將它添加到兩個地方。下面是一個示例''你可以找到更多的信息:http://goo.gl/iY8Dgv – shizik

1

對於我的應用程序,使用「?wa = wsignout1.0」URL清除應用程序FedAuth cookie和ADFS MSISAuth cookie。

您最終在「您已註銷」頁面。

從那裏開始,後退按鈕會將您帶回應用程序,但如果您嘗試執行任何操作,則會重定向到ADFS以再次登錄。

0

我們也有類似的問題。爲我們工作的解決方案建議在ADFS 2.0管理控制檯中的依賴方信任中添加端點。 請遵循以下步驟:

  1. 添加signout URL在谷歌結構(高級) - > SSO -

    註銷URL = HTTPS:// {DNS_name_of_RP_STS}/ADFS/LS /?wa=wsignout1.0

  2. 轉到ADFS 2.0管理控制檯。在終結點選項卡,單擊添加

  3. 端點類型= SAML註銷,綁定= POST,URL = https://myadfsserver.domain.net/adfs/ls/?wa=wsignout1.0你可以設置一個響應URL,如果你希望它重定向到另一個頁面,但我們喜歡的ADFS的網站,因爲它警告說,您已註銷,但仍應關閉瀏覽器。