我對MVC4中的會話管理有點困惑。Session實際上是如何在MVC中工作的?
可以說,我輸入了用戶名和密碼並單擊登錄按鈕。 然後在服務器端,我從HttpContext.Current.Session獲得SessionId。然後我正在驗證該數據庫的用戶憑據。如果用戶有效,則在Session中添加SessionId,userName和uiserId。
可以這樣說,下次請求來自同一臺機器和同一瀏覽器時,我得到了相同的SessionId,然後允許該用戶訪問其他信息。
現在我以下的問題:
- 如何服務器來知道請求是來自同一個瀏覽器,並從同一臺機器來的?
- 我發現SessionId對於不同的瀏覽器是不同的,但是對於同一臺瀏覽器在不同的機器上是一樣的,所以如果我從machine1和google chrome登錄,那麼是否有可能爲不同的瀏覽器使用相同的會話?會話將可用於具有相同瀏覽器的不同機器。是否有可能?)
- 服務器如何理解請求是針對登錄的同一用戶?
- 在asp.net會話由viewState維護,但視圖狀態不在MVC中使用,那麼MVC中使用了什麼?
我會嘗試回答你的具體問題,當我找到更多的時間,但我認爲這個網址將幫助你清除一些疑惑。 https://gregorybeamer.wordpress.com/2012/11/04/session-and-cookies-in-asp-net-mvc-oh-my/ – SBirthare 2014-12-02 08:29:27
好的,謝謝,我將通過這個URL – Ashok 2014-12-02 08:43:32
會議永遠不會「維護「通過ViewState,它們完全是分離的機制。 ViewState存儲在頁面的隱藏字段中,會話數據永遠不會發送到瀏覽器。 – 2014-12-02 09:49:45