我正在嘗試從 Intranet 應用程序中注銷,該應用程序也可以通過使用 Active Directory 聯合身份驗證服務登錄從 Internet 訪問。首先,我只是做了一個 href https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0。聯邦頁面顯示并顯示一條消息:“您已成功注銷!” 但是如果我返回,我可以再次訪問網絡應用程序而無需再次登錄。我還嘗試附加一個重定向參數,以便提示用戶再次插入憑據。但是重定向不會發生。后來我在我的一個控制器中創建了一個動作。這是代碼:public ActionResult Logoff(){ string absoluteUrl = HttpContext.Request.Url.AbsoluteUri; string replyUrl = absoluteUrl.Substring(0, absoluteUrl.LastIndexOf("/")+1); WSFederationAuthenticationModule.FederatedSignOut(new Uri(@"https://federation.mycompany.com/adfs/ls/?wa=wsignout1.0"), new Uri(replyUrl)); return null;}但問題是一樣的。我嘗試的第三件事是在退出前刪除 cookie。但似乎身份驗證cookie在域下而不是我的應用程序下,因此無法訪問。如何解決此退出問題?請幫忙。
1 回答

肥皂起泡泡
TA貢獻1829條經驗 獲得超6個贊
我只是假設,但我懷疑您的 ADFS 配置為用于 Windows 身份驗證,而您的應用程序具有登錄按鈕。
如果是這種情況,那么您就不能真正從已通過身份驗證的 ADFS 注銷,并且它會在應用程序的下一次請求時愉快地重新發出令牌。您無法對此做任何事情,因為身份驗證是使用 MTML/Kerberos 執行的,并且該瀏覽器會保留您的憑據,直到您關閉它。
解決方案是將 ADFS 更改為 Forms 模式,看看是否有幫助。
- 1 回答
- 0 關注
- 138 瀏覽
添加回答
舉報
0/150
提交
取消