通用权限管理平台--系统日志

本文介绍如何使用通用权限管理平台,通过自定义日志过滤器属性来实现自动记录系统日志的功能。具体步骤包括定义日志过滤器、实现OnActionExecuting方法、增加操作描述属性以及在Controller中应用LogRequest属性。演示地址提供验证实施效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通用权限管理平台利用过滤器实现自动记录系统日志功能。

首先需要自定义日志过滤器属性LogRequestAttribute,并且继承ActionFilterAttribute,IActionFilter

在日志过滤器属性类中实现基类IActionFilter的方法OnActionExecuting

void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
        {
            try
            {
                TLogDo log = new TLogDo();
                log.LogGuid = System.Guid.NewGuid().ToString();
                TUserDo user=DataAccess.FindById<TUserDo>(filterContext.HttpContext.User.Identity.Name);
                log.UserName = user == null ? "" : user.LoginId;
                log.Operation = OperationDescription;
                log.OpDate = System.DateTime.Now;
                log.Url = filterContext.HttpContext.Request.Url.ToString();
                log.IpAddress = filterContext.ActionParameters["IPAdress"] == null ? "" : filterContext.ActionParameters["IPAdress"].ToString(); //filterContext.HttpContext.Request.UserHostAddress;
                DataAccess.Add<TLogDo>(log);
            }
            catch
            {
            }
            finally
            {
            }
        }

 

另外,为了记录模块操作中文描述需要在此类中增加一个自定义属性OperationDescription操作描述,这样的话就可以达到记录不同模块不同操作。

这样的话,自动日志记录功能已经实现,接下来需要做的是,对需要日志记录的Controller增加日志属性,完成与日志的绑定。

[LogRequest(OperationDescription = "登录")]
        public ActionResult LogOn()
        {           
            return View();
        }

这样增加LogRequest属性即可实现Action的日志功能。

 

演示地址:http://hnjgsoft.xicp.net/ 账号:admin 密码:888888

如发现地址无法访问,请与本人联系,QQ:42934067

 

转载于:https://www.cnblogs.com/hn731/p/easyui_mvc4_vs2010.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值