我們有幾個ASP.NET應用程序部署到幾個服務器。有沒有一種標準方式來重用會話數據或其他方法,以便在從應用程序轉移到應用程序時不要求用戶登錄到下一個應用程序(如果它們已經通過身份驗證)?我希望有一個這樣做的最佳實踐方式,你們知道。我覺得應該有一些容易丟失的東西。在ASP.NET應用程序之間傳遞會話數據
謝謝。
編輯:爲了更清楚起見,我想傳遞的會話中的主要信息是經過身份驗證的用戶標識,但也可能包含其他一些會話變量。
我們有幾個ASP.NET應用程序部署到幾個服務器。有沒有一種標準方式來重用會話數據或其他方法,以便在從應用程序轉移到應用程序時不要求用戶登錄到下一個應用程序(如果它們已經通過身份驗證)?我希望有一個這樣做的最佳實踐方式,你們知道。我覺得應該有一些容易丟失的東西。在ASP.NET應用程序之間傳遞會話數據
謝謝。
編輯:爲了更清楚起見,我想傳遞的會話中的主要信息是經過身份驗證的用戶標識,但也可能包含其他一些會話變量。
對於會話確認這一點:http://www.codeproject.com/KB/aspnet/Sharing_session_state.aspx
補這個所以cookie將被共享:http://mgrzyb.blogspot.com/2007/12/aspnet-and-subdomains.html
會話位,我不認爲會有什麼跨子域工作,因爲默認情況下,會話cookie具有完整的主機名。 – chris 2009-03-05 19:18:31
從你的問題,如果你只是關心登錄,或者如果你真的需要應用程序之間共享會話數據目前尚不清楚。
假設是後者,你可以嘗試這樣的事:
第一,確保所有appliations在同一個域中運行。如果沒有,所有投注都關閉。我不知道是否有簡單的方法來配置會話cookie的域屬性,所以您可能必須自行完成,方法是將cookie域屬性設置爲域:
Response.Cookies [「ASP .NET_SessionId「]。Domain =」.mydomain.com「;
您需要確保每個應用程序都配置爲使用通用狀態服務器或數據庫支持的會話。
共享一個登錄應用程序之間(上面覆蓋)是一個完全不同的球賽共享ASP.NET應用程序會話之間。
爲什麼要在應用程序之間共享會話?
ASP.NET會話是用戶與一個ASP.NET應用程序當前交互的隱喻。它存在於ASP.NET中,爲我們提供了一個地方,可以在用戶在使用應用程序時所做的各種頁面請求之間存儲臨時狀態數據。
如果您的應用程序密切相關,例如用戶同時或幾乎同時使用兩者,您可以考慮將它們合併到一個ASP.NET應用程序中。
如果您的應用程序不是密切相關的,也許他們應該共享相同的數據庫作爲交換數據的手段,或者使用API基於Web服務交換信息。
希望有所幫助。
認證和會話是2個獨立的(雖然相關的)問題,回答了我的迴應 – eglasius 2009-03-05 19:42:24