2015-08-28 103 views
0

我很長一段時間打這個退出問題,並找不到解決方案。在開始時,我的網站使用ADFS 2.0無法登出,即使正確的登出網址已被打開。我認爲這是一些餅乾沒有清除。之後,我發現這可能是ADFS服務器的問題。ADFS 2.0,如何清除憑證緩存?

我曾嘗試:

  1. 停止IIS服務器,所以我沒有我的網站在所有的,只是測試ADFS。
  2. 清除我的瀏覽器cookies。關閉並重新打開。所以它很乾淨。
  3. 直接登錄到ADFS,例如:https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignin1.0,在這裏我得到了用戶名和密碼的彈出窗口。
  4. 通過訪問直接註銷:https://mydomain/adfs/ls/?wtrealm=mysite&wa=wsignout1.0
  5. 清空我的瀏覽器cookies。
  6. 嘗試再次使用URL從3登錄。我登錄並沒有看到任何彈出窗口。在瀏覽器開發工具中。我看到重定向到我的網站。

我使用Fiddler捕獲流量,它似乎認證使用NTLM。看起來瀏覽器從某個地方獲得了憑據(不在確認的cookie中)。獲取彈出窗口的唯一方法是關閉瀏覽器進程,然後重新打開登錄URL。有誰知道如何讓它真正登出?

回答

0

這是因爲你的公司網內的ADFS服務無縫地使用新的廣告服務票,ADFS服務(技術上另一種身份驗證),使用Windows集成身份驗證和體徵你。這與擁有支持Windows集成身份驗證的IIS Web應用程序沒有區別。

你不會看到這一點,如果你是從外網訪問。

在你關心讓用戶交互登錄一些場景。做到這一點的方法是(2012 R2是這裏的選擇)

  1. 在ADFS服務和應用程序上配置MFA,需要MFA。這將從根本上無縫地登錄你,而是提示輸入第二個因素
  2. 增加(更高的安全性)可忽略任何SSO(默認SSO網絡爲8小時),並設置了「AlwaysRequireAuthentication」標誌上的應用。

對於ADFS 2016,我們支持提示=通過WS-Fed或OAuth/OpenIDConnect登錄,即使Windows SSO模式也會忽略,這會更好。

希望有所幫助。

感謝 //山姆(Twitter的:@MrADFS

+0

感謝您的解釋。 2012R2是解決方案所必需的嗎?我的ADFS在2008R2上。 – bigbearzhu

+0

對於指定的選項是,因爲這些是我們在2012R2中添加的新功能。有第三個選項,我不推薦,因爲它可能導致錯誤的行爲是你要求'wauth = password-uri'wrefresh = 0這迫使U/P認證。這適用於2008R2。 –