1
我們有一個Web API,由OWIN Cookie身份驗證中間件發佈的Cookie保護。Web API Cookie和會話存儲
除了通過cookie認證中間件所產生的通用的身份認證領域,Cookie也存儲自定義字段,如用戶ID,姓名,...
在Web API的多個實例的情況下被部署在一個負載均衡器,我們是否需要在SQL/Redis/...中持久化會話?
謝謝。
我們有一個Web API,由OWIN Cookie身份驗證中間件發佈的Cookie保護。Web API Cookie和會話存儲
除了通過cookie認證中間件所產生的通用的身份認證領域,Cookie也存儲自定義字段,如用戶ID,姓名,...
在Web API的多個實例的情況下被部署在一個負載均衡器,我們是否需要在SQL/Redis/...中持久化會話?
謝謝。
因此,瞭解Cuong Le所說的並且看着Microsoft.Owin.Security.Cookies的source code,可以發現默認情況下服務器端不需要存儲。
僅當設置屬性IAuthenticationSessionStore時才需要存儲。源代碼註釋如下:
/// <summary>
/// An optional container in which to store the identity across requests. When used, only a session identifier is sent
/// to the client. This can be used to mitigate potential problems with very large identities.
/// </summary>
public IAuthenticationSessionStore SessionStore { get; set; }
我希望這有助於!
不,cookie身份驗證基於cookie存儲在客戶端,不在會話中。因此,您不需要爲負載平衡做任何事情 –
而且服務器不需要存儲與cookies /會話相關的任何內容?我試圖從微軟找到一個參考,但找不到一個。你能爲我指出正確的方向嗎?謝謝。 – JCS
Cookie是從客戶端到服務器的每個HTTP請求發送的,因此您不需要在服務器端存儲。我不知道我能爲你找到一個合適的人,但你可以先搜索一下,以獲得更多的理解。 –