2010-09-15 42 views
0

我有兩個.NET網站,它被設置爲通過SQL db共享會話。用戶正在獲取其他用戶的會話!

網站使用session("MY_Session").addSession("MY_Session")存儲和檢索會話。存儲的內容基本上是一個用戶名和用戶名的自定義類。

父網站使用DefaultAppPool在IIS中設置,然後將輔助站點設置爲同一池中的虛擬目錄應用程序。 。

我不太清楚它是如何建立在SQL的會議,因爲我沒有把它放在

在web.config這兩個應用程序,它被設置如下:

sessionState mode="SQLServer" 
sqlConnectionString="server=xxxxx;uid=uuuu;pwd=pppppp;Application Name=NNNNNN"/ 

用戶聲稱他們有時會打開瀏覽器,進入該網站,發現其他人的信息(來自同一組織內)的出現......

任何人能告訴我什麼,我做錯了請下一步做什麼?

回答

2

如果涉及代理服務器,這可能是一個緩存問題 - 確保任何個性化內容都被正確標記,以便它不在客戶端之間共享。

像這樣的標題應改進事項:

的Cache-Control:私人

+0

謝謝你的建議。因此,這將有望強制用戶的電腦刷新服務器,但我很困惑他們爲什麼會搶別人的會話?我的意思是,這些人聲稱他們沒有輸入任何用戶名或密碼,並且能夠瀏覽整個網站並且可以充分訪問其他人的信息!幾乎像一個會話劫持 – Ichirichi 2010-09-15 12:19:00

+0

我很安全地假設他們正在使用不同的PC? – Spooks 2010-09-15 12:39:00

+1

@Ichirichi可能會出現會話未被共享的情況,但基於會話生成的內容已被中間代理緩存,並被提供給其他客戶端,而不會將請求一直返回到服務器。 – 2010-09-15 12:53:45