2016-09-27 104 views
0

在我的ASP.NET應用程序中,在某些時候,我必須重定向到另一個域來執行用戶身份驗證,並且該域的成功將重定向回到我的域。asp.net sessionId恢復會話對象

例如:

my domain: www.domainA.com 
other domain: wwww.domainB.com 
flow: domainA.com (goes to)-> domainB.com (goes to)-> domainA.com 

所以我想做什麼是存儲在DOMAINA會話對象纔去域B,然後恢復會話對象,當談到回domainA.com(不知道這甚至有可能)

我已經告訴約是asp.net使用會話ID將創建一個名爲「ASP.NET_SessionId」的cookie,所以當它回來我的域名將被用於恢復(再次不確定是否屬實)

如果上述說法屬實,我該如何恢復會話對象?

如果不是這樣,那我該如何將會話對象存儲在domainA.com中,直到它通過domainB.com上的身份驗證流程,然後返回到domainA.com?

P.S:當它回到domainA.com時,Cookie仍然存在,並且具有相同的值。

+0

這是非常困難的,因爲你描述的會話狀態的默認行爲來回答你的問題。所以,如果你描述*你*相信會話狀態的工作,它可以幫助...(或者讀[ASP.NET會話狀態概述](https://msdn.microsoft.com/en-us/library/ ms178581.aspx))和[edit]你的帖子... –

+0

@AlexeiLevenkov謝謝你的回覆。我認爲會話在瀏覽domainA.com時保持活躍狀態​​,並且在進入domainB.com時將會丟失。我會更多地瞭解這一點,並會在病房後更新問題。謝謝 –

回答

0

Session變量存儲在服務器上。爲每個新用戶創建一個新的會話變量。服務器使用唯一的會話ID存儲用戶的會話,以便每個用戶的會話都能被唯一標識。

SessionID的是客戶的詳細信息,如用戶的IP,使用瀏覽器,瀏覽器版本,操作系統,操作系統版本等

組合,我們可以得到這樣的使用HttpCookie("ASP.NET_SessionId", "")的SessionID。在重定向到另一個頁面之前,您可以將其保存在會話對象中。如果用戶身份驗證成功,您可以將一個布爾值從「domainB」頁面傳遞到「domainA」頁面。如果布爾值爲true,則不會恢復會話。

有關的SessionID的用法的詳細信息:Refer this page.