2011-04-05 88 views
0

在我的網站中,我在會話中存儲了一些用戶特定的設置。但是其他用戶可以在第一次用戶註銷後訪問同一會話。不是會話用戶特定的?如果是,在第一個用戶註銷後第二個用戶如何訪問會話?根據我的理解,即使我沒有調用session.abandon(),第二個用戶也不應該能夠訪問第一個用戶會話。Asp.net會話:兩個不同的用戶可以訪問同一個會話

謝謝,Syd

+0

你可以張貼一些代碼? – BrandonZeider 2011-04-05 18:09:37

+0

提供了一些代碼,幫助我們更好地瞭解您所做的事情和問題所在! – 2011-04-05 18:10:38

回答

1

會話本身和FormsAuthentication並不直接綁定在一起。如果您想確保您的整個會話都被清除,則您需要撥打Session.Abandon()或在註銷時清除各個項目。

+0

但是第二個用戶怎麼能夠訪問第一個用戶的會話呢?他是如何得到第一個用戶的會話ID的? – sid 2011-04-05 18:15:35

+1

你說的是同一臺機器/瀏覽器,對吧?該會話與瀏覽器cookie相關聯,只需註銷應用程序就不會清除該cookie。因此,下一個使用該應用程序的用戶仍然擁有該cookie,因此仍然具有相同的會話。當你放棄會話時,下一個用戶將得到一個新的cookie和一個新的會話。 – 2011-04-05 18:17:34

0

確保用戶註銷時,你實際上是註銷,而不僅僅是關閉瀏覽器即 電話:

Session.Abandon(); 
FormsAuthentication.SignOut();