2013-07-02 84 views
0

我在我的應用程序中使用shibboleth身份驗證,當用戶單擊註銷按鈕時,他將被引導至〜/ Shibboleth.sso/Logout鏈接,它似乎是點擊按鈕時的成功,但如果我嘗試再次使用shibboleth登錄,它不會重定向到Shibboleth登錄頁面!而是顯示之前登錄的用戶(我已註銷)。 因此,即使註銷後,會話似乎仍然存在! 但是,如果在再次登錄之前,我關閉了瀏覽器,用戶通常會重定向到Shibboleth登錄頁面。 所以它看起來像會話狀態或cookie問題! 我用下面的代碼來解決這個問題:Shibboleth Single Sign Out

if (Request.Cookies["shibsession"] != null) 
       { 
        HttpCookie myCookie = new HttpCookie("shibsession"); 
        myCookie.Expires = DateTime.Now.AddDays(-1); 
        Response.Cookies.Add(myCookie); 
       } 
       Response.Redirect("~/Shibboleth.sso/Logout"); 

但它不工作! 任何人都可以幫忙嗎?

回答

1

訪問服務提供商的URL Shibboleth.sso/Logout無法控制IdP的會話,也無法控制。它可以發送SAML註銷請求,或發出專有重定向。

最佳實踐:註銷處理程序應由身份提供商處理。

完成註銷後,纔可以選擇關閉瀏覽器。註銷不會在規模上發揮作用,除非瀏覽器供應商合作並且自己做,否則它絕不會有效。所以你 可能會認爲關閉瀏覽器是唯一的選擇,並仍然 需要清除在最新的瀏覽器Chrome或Firefox的Cookie。

相關問題