protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (Session["AdminId"] == null) { if (filterContext.HttpContext.Request.IsAjaxRequest())//判断是否是ajax请求 { filterContext.Result = new JsonNetResult { Data = new AjaxResult { Status = "0", Msg = "登录信息已经过期,请刷新重新登录!", Data = "/admin/manager/login" } }; } else { filterContext.Result = new RedirectResult("/admin/manager/login"); } } else { PermissionAttribute[] attributes = (PermissionAttribute[])filterContext.ActionDescriptor.GetCustomAttributes(typeof(PermissionAttribute), false); //PermissionAttribute[] attributes = (PermissionAttribute[])filterContext(typeof(PermissionAttribute), false); AdminId = Convert.ToInt64(Session["AdminId"]); if (attributes.Length > 0) { foreach (var attr in attributes) { if (!adminService.HasPermission(AdminId, attr.Permission)) { if (filterContext.HttpContext.Request.IsAjaxRequest()) { filterContext.Result = new JsonNetResult { Data = new AjaxResult { Status = "0", Msg = "没有" + permissionService.GetByName(attr.Permission) + "这个权限" } }; } else { filterContext.Result = new RedirectResult("/admin/manager/tips?message=" + "没有" + permissionService.GetByName(attr.Permission) + "这个权限"); } } } } object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(ActDescriptionAttribute), false); if (attrs.Length > 0) { string ipAddress = MVCHelper.GetWebClientIp(); string funDescribe = ((ActDescriptionAttribute)attrs[0]).ActDescription; logService.AddNew(AdminId, ipAddress, "访问执行了" + funDescribe); } } base.OnActionExecuting(filterContext); }
public override void OnActionExecuted(ActionExecutedContext filterContext) { if (filterContext == null) { base.OnActionExecuted(filterContext); } object[] attrs = filterContext.ActionDescriptor.GetCustomAttributes(typeof(ActDescriptionAttribute), false); if (attrs.Length > 0) { if (filterContext.HttpContext.Session["AdminUserId"] == null) { base.OnActionExecuted(filterContext); } long userId = Convert.ToInt64(filterContext.HttpContext.Session["AdminUserId"]); string ipAddress = MVCHelper.GetWebClientIp(); string funDescribe = ((ActDescriptionAttribute)attrs[0]).ActDescription; logService.AddNew(userId, ipAddress, "访问执行了" + funDescribe); } base.OnActionExecuted(filterContext); }