2012-08-17 33 views
0

我正在開發和Intranet Web應用程序。在Global.asax文件的session_start事件中,我使用user.idenity獲取域標識並將其放入會話值中。現在我有一個母版頁,在其中加入會話值以顯示用戶名。不同用戶之間存在相同的會話值

我正在使用Windows身份驗證和身份模擬true。但是在發佈之後,首先登錄系統的用戶名會顯示給每個人。

我無法找出原因。請建議。

+7

顯示您的代碼來放置和檢索損壞的值。 – 2012-08-17 12:20:00

+0

你也應該閱讀http://meta.stackexchange.com/questions/80538/how-to-ask-questions-on-stack-overflow – 2012-08-17 12:24:38

+1

你不能直接從'Page.User.Identity.Name' ?爲什麼你需要將它存儲在會話中? – user1429080 2012-08-17 12:24:57

回答

2

沒有一些示例代碼很難確定問題,但我可以猜測發生了什麼。

您是否理解打開一個新的Web瀏覽器選項卡,或者只是在同一個選項卡中打開相同的URL可能會啓動一個新的會話?

會話狀態在客戶端(Web瀏覽器)以及同一瀏覽器會話內的任何選項卡或窗口(如果您關閉並重新打開瀏覽器時共享該會話)將作爲cookie持久保存。換句話說:所有選項卡或相同的瀏覽器會話窗口將在服務器端中共享相同的會話狀態。

+0

在登錄網址後,在兩個不同的系統中沒有顯示相同的用戶名 – Shipu 2012-08-17 12:30:19

+0

@Shipu因此,您已確認我描述了您的問題。你是否理解它,或者你需要關於它的更多細節? – 2012-08-17 12:31:18

+0

,除非您使用不同的鍵創建會話變量,即每個用戶一個會話。否則一個具有相同標識符關鍵字的會話將總是被覆蓋 – Amn 2012-08-17 12:36:21

相關問題