2012-11-07 49 views
2

我需要存儲一個ID,用於將在我的Web應用程序中執行的每個操作中使用的用戶。我曾希望使用定製授權ActionFilterAttribute(在整個控制器上)使用此附加信息填充ViewData,但事實證明,在這些ActionFilterAttributes執行操作之前,會運行整個堆棧。 ModelBinding,控制器製造存儲有關已登錄的ASP.NET MVC用戶的其他信息

我想也許有一種方法可以擴展HttpContext.User.Identity來存儲額外的數據,但不知道從哪裏開始。

任何想法?

回答

1

SOLUTION
放眼望去更詳細地在計算器上我碰到這個解決方案來了確實是我想要的,並以超級乾淨和正確的方式(建議:它使用FormsAuthenticationCookieuserData屬性 - https://stackoverflow.com/a/10524305/175893

0

一種選擇是有一個全局(靜態)ConcurrentDictionary和存儲有關的身份/用戶有任何額外的信息 - 使用什麼是方便,一鍵...因爲這本詞典是線程安全的,主要是實現無鎖它提供了出色的性能......這樣你就不需要惹任何特定的ASP.NET的東西左右...