2012-10-03 46 views
1

我想明白,如果這是有道理的:會話超時殺死「記住我」的cookie的ASPNET數據庫

1. User logs in, checks "remember me" checkbox. 
2. User logs out. 
3. User comes back and is automatically logged in. 

基本上,這正是你希望發生什麼。這意味着它正在工作。這裏的地方就有點怪異:

1. User logs in, checks "remember me" checkbox. (Or logs in using remember me.) 
2. User is inactive for over 20 minutes, so the session times out. 
3. User clicks a link and is sent to the sign in page. 
4. User closes browser, then opens again. They are taken to the sign in page. 

這似乎是「記住我」時,他們會由於不活動期滿關閉該用戶。我試圖在文檔中找到這方面的內容,但無濟於事。如果這是預期的行爲,那很酷,但我想確認一下。

我們使用Sitecore.Security.Authentication管理器來首先設置cookie。

+0

我認爲在大多數應用程序中,記住我的cookie會在用戶註銷時被刪除 - 這是預期的行爲,對我而言也是合乎邏輯的。 –

+0

我也這麼認爲,但我找不到任何文件來證實這一點。 (或者反駁它)。 –

回答

1

以我的經驗,「記住我」功能從來沒有正常工作.. 似乎是一直存在的錯誤。 我通常只是讓我的瀏覽器存儲Sitecore的登錄信息,如果它太難記。

1

首先,重要的是要知道即使是「記住我」標記也有驗證:「cookie」在一段時間後過期,並且它是可配置的,即使它具有默認值。您需要檢查默認值。其次,由於Single-Sign-Out,「Remember-me」cookie假設在註銷後被刪除(就像@adam在他的評論中所說的那樣)。 記住我記得會話中的用戶,但是如果他退出,則不會。想想這樣:如果你有你的Facebook或Google帳戶,並且你點擊「記住我」後登錄。然後你註銷,然後再回來。你將被要求再次獲得你的證書! (如果不是你試圖登錄的人,你是否希望Facebook在你退出登錄後記住你?)

記住我的實際用法是:你登錄到一個網站,然後關閉瀏覽器(無需註銷!),並關閉瀏覽器即可「失去」會話。當你重新打開瀏覽器時,你會得到一個新的會話。然後記住我開始工作:您將有權訪問該網站,而無需再次輸入憑據。