[英]Sharing session between two website applications on same solution and domain
我在同一解決方案上並行運行兩個網站,兩個網站都運行在本地IIS上,主要運行在domain/
,另一個運行在domain/api
。
用戶已連接到Web表單應用程序(domain /),然后我需要在domain/api
上授權他,但是盡管沒有CORS並且發送的標頭中的session_id相同,但api無法識別會話(已編寫Web表單項目可以識別時, HttpContext.Current.Session
沒有數據, count = 0
)。
為了在Web api中啟用會話,我在Global.asax
Application_PostAuthorizeRequest
下添加了HttpContext.Current.SetSessionStateBehavior(SessionStateBehavior.Required)
。
如果您確實需要這樣做,則可以嘗試將會話對象保存在數據庫中,並在指向這些會話值的cookie中寫一個令牌,因為您說它們在同一域中,所以兩個應用程序都可以訪問該cookie。並檢索令牌並從使用該令牌ID存儲的數據庫中獲取所需的值。 當我必須像您一樣在舊系統上進行修改時,我曾經以相同的方式這樣做。 效果很好,您可以將其快速固定在牆上。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.