2015-07-11 57 views
0

我們使用FormsAuthentication進行登錄過程。 我需要將一些數據添加到登錄用戶會話以在所有頁面中使用。FormsAuthentication中Session [「variable」]的替代方案

它可以使用Session["variable"] = value完成,但我讀了幾篇文章說,不要使用會話變量與FormsAuthentication

是否有類似的替代方案,如Session["variable"]FormsAuthentication一起使用?

+2

沒有到'Session'替代,但你可以有身份驗證和授權的API'alternative' - HTTP:// WWW。 asp.net/web-forms/overview/security – adatapost

+1

你可以鏈接任何建議使用會話狀態特別與表單身份驗證相結合的文章嗎?我很好奇他們引用的理由。 我能想到的唯一原因是爲了避免放入有關登錄用戶的敏感數據,在這種情況下,這不是使用會話狀態的問題,它是您存儲會話狀態的位置的問題(cookie與內存或分佈式緩存) – Travis

回答

0

使用私鑰加密數據並存儲在cookie中可以替代。對於每個請求,您可以通過讀取和解密(使用私鑰)cookie變量來執行檢查。

1

考慮使用FormsAuthenticationTicketUserData屬性,如果您使用的是ASP.NET窗體身份驗證,則該屬性將創建,加密並存儲在窗體cookie中。這個字段的目的是存儲你所描述的種類的自由格式數據。

0

您好是用JavaScript的方式,是的localStorage或SessionStorge

window.localStorage.setItem("message", "Hello World!");