Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }