當用戶在我的asp.net網站(通過FormsAuthentication)登錄時,我在當前會話中存儲了一些關於它們的信息,例如他們的UserId,FirstName和其他非常基本的變量經常在各種網頁上。Asp.Net會話在FormsAuthentication之前超時
問題是,即使會話超時設置爲比FormsAuthentication超時更長,我注意到有時會重置當前會話(即session = null)。
1)我不明白爲什麼會發生。有任何想法嗎?
2)發生這種情況時,用戶仍然登錄(FormsAuthentication尚未超時),但其當前會話不再包含任何數據。我想要做的是噹噹前會話超時時,他們被要求再次登錄。爲此,我需要檢測會話超時,並在發生時將其註銷。如何才能做到這一點?
3)這似乎有點矯枉過正。我不能直接在FormsAuthentication中存儲會話中存儲的任何內容(UserId,FirstName等)嗎?如果是這樣,怎麼樣?通過這種方式,無論當前會話如何,我都可以訪問這些值(但在此情況下不再使用)。你看到這個邏輯有什麼問題嗎?如果沒有,那怎麼辦?
Dupe? http://stackoverflow.com/questions/648992/session-timeout-in-asp-net – 2009-09-03 12:29:15
杜佩? http://stackoverflow.com/questions/316172/session-timeout-asp-net – 2009-09-03 12:30:24
你使用HttpContext.Current.User獲取信息?? – 2009-09-03 12:35:14