我使用Application_PostAuthenticateRequest事件在Global.asax中創建自定義IPrincipal對象在哪裏創建自定義IPrincipal對象?
void Application_PostAuthenticateRequest(object sender, EventArgs args)
{
if (Context.User.Identity.IsAuthenticated == true)
if (Context.User.Identity.AuthenticationType == "Forms")
{
Context.User = new CustomPrincipal(Context.User);
Thread.CurrentPrincipal = Context.User;
}
}
在我的應用程序,我想獲得有關登錄的用戶一些信息來使用。我認爲這將被稱爲一次,當用戶身份驗證,但我注意到,它被調用每個頁面請求幾次相同的登錄用戶。我發現即使是從AppThemes請求圖片也會調用這種方法!
我應該在哪裏創建該對象,以避免爲每個用戶多次調用此方法?