2010-10-11 51 views
2

如果用戶同時打開2個網頁,他們將創建2個會話。每個用戶可能有多個會話

通常這並不重要,但它會在嘗試按照persistent login cookie best practices中的建議旋轉cookie令牌時記住我的功能時產生問題。在兩個會話同時打開的情況下,似乎無法正確旋轉兩個Cookie。

我該如何解決這個問題?

我使用Tomcat和Struts 1,但我認爲這是獨立於框架的。

+0

用戶真的會得到兩個會話嗎?他應該爲每個站點只有一個cookie,這樣兩個會話中的一個會打斷另一個。如果您希望同一個瀏覽器中的同一用戶擁有多個會話,則無法使用Cookie。 – Thilo 2010-10-12 01:30:31

+0

@Thilo,我不希望用戶獲得2個會話,但是如果他同時在2個頁面上輸入網站,他們將創建2個會話(每個初始請求不會有會話cookie,因此響應會給出2個不同的新會話標識)。 – Nick 2010-10-12 11:08:21

+1

是的,但這些會議的第一個不會被使用,對吧?所有後續頁面訪問都將使用第二個會話ID。 – Thilo 2010-10-13 01:31:48

回答

1

擴展@Thilo答案他是正確的,任何後續訪問其他頁面將隨後發送該域的cookie。例如打開gmail,登錄並在其他選項卡或窗口中打開gmail,它會發送該域的cookie。由於Cookie在任何後續請求上保存會話信息,因此只會更改會話標識/值。 你可以使用螢火蟲及其擴展的火焰餅乾來檢查它。 關於避免記住我問題的問題,如您在指定的鏈接中所述,它更多的是設計問題,如何處理它。