2013-10-03 45 views
1

我有一個web應用程序,並在adfs中的回覆方中添加了該應用程序。對於我的應用程序,我使用了身份和訪問工具。我的應用程序建立在.Net 4.5和MVC 4架構上。對於登錄,我被重定向到登錄頁面,它使用我的ADFS活動目錄身份驗證。我面臨的問題是退出。到目前爲止我嘗試了下面的事情,
無法讓我的網絡應用程序註銷ADFS

這重定向我退出畫面,但單擊後退按鈕,我能夠回到我的應用程序。如果我在下一個選項卡中打開我的應用程序,它仍然會打開而沒有任何憑據提示。
2.

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

這給了我一個錯誤說signout網址不能爲空。在進入URl時,情況與第1點相同。

我在上面的代碼中缺少什麼或者可能的解決方案是什麼。

回答

2

下面的代碼讓它工作。感謝您的支持..

public void LogOut() 
    {   
     var module = FederatedAuthentication.WSFederationAuthenticationModule; 
     module.SignOut(false); 
     var request = new SignOutRequestMessage(new Uri(module.Issuer), module.Realm); 
     Response.Redirect(request.WriteQueryString()); 
    } 
1

您應該可以爲每個依賴方配置註銷URL。根據我的經驗,ADFS隨後爲每個啓動會話的服務使用(隱藏)iframe,並將RP應用程序的註銷頁面作爲iframe的src。

這應該使#1和#2工作。

相關問題