2012-10-23 105 views
2

是否可以在不同服務器上的Web應用程序之間共享會話狀態?其中一個網站使用會話狀態來維護用戶憑證/信息會話狀態,另一個使用表單身份驗證來維護此信息。如果不使用會話存儲對網站進行修改,使用表單驗證的網站是否可以讀取/訪問其他服務器上的會話狀態?如果不是,我認爲這是答案,如果他們在同一臺服務器上運行,是否可能? (即同一個應用程序池)?在單獨服務器上的Web應用程序之間共享會話狀態

注:這兩個程序是相同的域名下(其中一人將是一個子域)

作爲一個說明,這是被要求的原因是因爲一個客戶端請求一個「單點登錄兩個網站之間的「一次」方法。在會議

ASP.NET 4 我們正在使用窗體身份驗證和其他網站(我們不能在這個時刻修改)是維持證書/登錄信息IIS 7.5

回答

0

假設是後者,你可以嘗試像這樣:

首先,確保所有的應用程序都在同一個域中運行。如果沒有,所有投注都關閉。我不知道是否有配置會話cookie的domain屬性還沒有一個簡單的方法,所以你可能不得不自己動手,通過cookie域屬性設置域:

Response.Cookies["ASP.NET_SessionId"].Domain = ".mydomain.com"; 

你會需要確保每個應用程序都配置爲使用通用狀態服務器或數據庫支持的會話。

請點擊鏈接:How to share session state across subdomains

相關問題