Пример #1
0
        public override void OnActionExecuting(ActionExecutingContext context)
        {
            var user = context.HttpContext.Session.GetCurrentUser();
            var area = context.RouteData.Values["area"]?.ToString();

            if (user?.IsAdmin == true && area != null)
            {
                var userName   = user.UserName;
                var controller = context.RouteData.Values["controller"].ToString();
                if (controller == "LocalLog")
                {
                    return;
                }
                var action     = context.RouteData.Values["action"].ToString();
                var httpMethod = (context.GetActionAttributesByContext(typeof(HttpMethodAttribute)).FirstOrDefault() as HttpMethodAttribute)
                                 .HttpMethods.FirstOrDefault();

                Task.Factory.StartNew(() => LogHelper.Log(new LogItemEntity($"{userName} 访问{context.ActionDescriptor.DisplayName},方式:{httpMethod}"
                                                                            , userName
                                                                            , LogType.Info
                                                                            , $"{area}.{controller}.{action}")));
            }
            base.OnActionExecuting(context);
        }