0
我有一個方法,我希望每個Http請求運行一次,但在像Context.Current.User之類的東西被分配後。每個請求代碼
public static void AddPrincipal(HttpContext context)
{
var users = DependencyResolver.Current.GetService<IRepository<User>>();
var currentUser = users.Retrieve(u => u.Username == context.User.Identity.Name);
var principal = new Principal(currentUser);
context.Items.Add("Principal", principal);
}
在ASP.Net MVC3中實現該功能的最佳方法是什麼?
我試圖把它放在控制器工廠,但我在我的頁面上有一些partials行爲,所以它運行的更多一次。
我也嘗試過的BeginRequest在Global.asax中,但HttpContext.Current.User是在那個時間點空..
提前感謝!
感謝您的快速響應!剛剛嘗試過,但出於一些奇怪的原因HttpContext.Current.User仍然是Application_AuthenticateRequest中的空值.. :( – OopsImAlive
您是否設置了ASP.NET身份驗證/成員資格?您是否正在嘗試通過身份驗證來執行此操作的HttpRequest? – ericb