void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext) { UserSessionContext us = new UserSessionContext(filterContext.HttpContext); int userId = us.GetUserId(); var query = from u in db.Users where u.Id == userId && u.Role == userRole select u; var user = query.FirstOrDefault(); if (user == null) { RouteValueDictionary redirectTargetDictionary = new RouteValueDictionary(); redirectTargetDictionary.Add("action", "Login"); redirectTargetDictionary.Add("controller", "Account"); filterContext.Result = new RedirectToRouteResult(redirectTargetDictionary); } else { filterContext.HttpContext.Items.Add("User", user); } this.OnActionExecuting(filterContext); }