public override void OnActionExecuting(ActionExecutingContext filterContext) { if (HttpContext.Current.Session["userid"] == null) { filterContext.Result = new RedirectResult("/Admin/Home/Login"); return; } int userId = int.Parse(HttpContext.Current.Session["userid"].ToString()); string actionName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName + "Controller-" + filterContext.ActionDescriptor.ActionName; DTPowerDBContext db = new DTPowerDBContext(); var admin = db.Administrator.Where(a => a.UserId == userId && a.IsAdmin.Value != 0).FirstOrDefault(); if (admin != null) { return; } var listpermission = from p in db.Permission join g in db.GrantPermission on p.PermissionId equals g.PermissionId where g.UserId == userId select p.PermissionName; if (!listpermission.Contains(actionName)) { filterContext.Result = new RedirectResult("/Admin/Home/NotificationAuthorize"); return; } }