public override async Task OnActionExecutionAsync(ActionExecutingContext context, ActionExecutionDelegate next)
        {
            if (context.ActionDescriptor.FilterDescriptors.Count(o => o.Filter.GetType().Name == "AllowAttribute") == 0)
            {
                string path       = "";
                string controller = context.RouteData.Values["controller"].ToString();
                string action     = context.RouteData.Values["action"].ToString();
                string area       = "";
                try
                {
                    area = context.RouteData.Values["area"]?.ToString() ?? "";
                }
                catch
                {
                    area = "";
                }
                if (string.IsNullOrWhiteSpace(area))
                {
                    path = "/" + controller + "/" + action;
                }
                else
                {
                    path = "/" + area + "/" + controller + "/" + action;
                }
                var currentUser = await getAuthorization(context);

                if (currentUser == null)
                {
                    context.Result =
                        new RedirectResult("/account/login?returnUrl=" + path);
                }
                bool ignore = context.ActionDescriptor.FilterDescriptors.Count(o => o.Filter.GetType().Name == "IgnoreAuthorizeAttribute") > 0;
                if (ignore)
                {
                }
                else
                {
                    if (currentUser.IsSys)
                    {
                    }
                    else
                    {
                        // var _roleAuthorizeApp = AutofacExt.GetFromFac<IRoleAuthorizeApp>();
                        bool b = await _roleAuthorizeApp.ActionValidate(currentUser.RoleId, path);

                        if (!b)

                        {
                            if (context.HttpContext.Request.IsAjaxRequest())
                            {
                                JsonResult json = new JsonResult(new { IsSucceeded = false, Message = "您没有操作权限" });
                                context.Result = json;
                            }
                            else
                            {
                                context.Result = new RedirectResult("/account/Nofind?bakurl=" + context.HttpContext.Request.Headers["Referer"].FirstOrDefault());
                            }
                        }
                    }
                }
            }

            await base.OnActionExecutionAsync(context, next);
        }