MVC拦截器记录操作用户日志
主要是用于记录用户操作动态,
- public class OperationAttribute:ActionFilterAttribute
- {
- /// <summary>
- /// 方法名称
- /// </summary>
- public string ActionName { get; set; }
- /// <summary>
- /// 控制器名称
- /// </summary>
- public string ControllerName { get; set; }
- /// <summary>
- /// 方法参数
- /// </summary>
- public string ActionParameters { get; set; }
- /// <summary>
- /// 访问时间
- /// </summary>
- public DateTime AccessDate { get; set; }
- /// <summary>
- /// 登录用户
- /// </summary>
- public string LoginName { get; set; }
- /// <summary>
- /// 操作备注
- /// </summary>
- public string Operationremark { get; set; }
- /// <summary>
- /// 是否记录入库
- /// </summary>
- public bool IsLog { get; set; }
- /// <summary>
- /// 操作模块描述
- /// </summary>
- public string ModuleName { get; set; }
- /// <summary>
- /// 操作动作
- /// </summary>
- public string Option { get; set; }
- /// <summary>
- /// 操作人id
- /// </summary>
- public int adminid { get; set; }
- /// <summary>
- /// 操作人名
- /// </summary>
- public string adminName { get; set; }
- public OperationAttribute()
- {
- this.AccessDate = DateTime.Now;
- this.IsLog = true;
- }
- /// <summary>
- ///
- /// </summary>
- /// <param name="moduleName">操作模块描述</param>
- /// <param name="option">操作动作描述</param>
- /// <param name="remark">其他备注</param>
- public OperationAttribute(string moduleName, string option,string remark="")
- {
- this.AccessDate = DateTime.Now;
- this.IsLog = true;
- this.ModuleName = moduleName;
- this.Option = option;
- this.Operationremark = remark;
- }
- public override void OnActionExecuting(ActionExecutingContext filterContext)
- {
- if (this.IsLog)
- {
- //方法名称
- this.ActionName = filterContext.ActionDescriptor.ActionName;
- //控制器
- this.ControllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
- ///页面传递参数
- IDictionary<string, object> dic = filterContext.ActionParameters;
- var parameters = new System.Text.StringBuilder();
- foreach (var item in dic)
- {
- parameters.Append(item.Key + "=" + item.Value + "|^|");
- }
- this.ActionParameters = parameters.ToString();
- var userInfo = GetUserResultModel();
- //this.adminName = userInfo.userName;
- //this.adminid = userInfo.userid;
- //操作数据库记录
- }
- }
使用方法:
直接在action头上 加多特性[Operation("用户管理", "修改密码")] 就可以获取到用户操作的动作。
MVC拦截器记录操作用户日志的更多相关文章
- spring mvc 通过拦截器记录请求数据和响应数据
spring mvc 能过拦截器记录请求数据记录有很多种方式,主要有以下三种: 1:过滤器 2:HandlerInterceptor拦截器 3:Aspect接口控制器 但是就我个人所知要记录返回的数据 ...
- spring mvc 拦截器的使用
Spring MVC 拦截器的使用 拦截器简介 Spring MVC 中的拦截器(Interceptor)类似于 Servler 中的过滤器(Filter).用于对处理器进行预处理和后处理.常用于日志 ...
- mvc拦截器
在ASP.NET MVC中,有三种拦截器:Action拦截器.Result拦截器和Exception拦截器.这里说的是第一种和第三种.其实所谓的ASP.NET MVC拦截器,也没什么神秘的,就是一个普 ...
- 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor
[Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...
- Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)
拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现, ...
- 写的太细了!Spring MVC拦截器的应用,建议收藏再看!
Spring MVC拦截器 拦截器是Spring MVC中强大的控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作. 拦截器概述 对于任何优秀的MVC框架, ...
- SSM(spring mvc+spring+mybatis)学习路径——2-2、spring MVC拦截器
目录 2-2 Spring MVC拦截器 第一章 概述 第二章 Spring mvc拦截器的实现 2-1 拦截器的工作原理 2-2 拦截器的实现 2-3 拦截器的方法介绍 2-4 多个拦截器应用 2- ...
- Spring MVC拦截器配置
Spring MVC拦截器配置 (1)自定义拦截器 package learnspringboot.xiao.other; import org.springframework.web.servlet ...
- 对于Spring MVC 拦截器的一些了解
Spring MVC 拦截器的执行顺序 应用场景 假设请求 localhost:8080/ 则要求直接重定向到 localhost:8080/login ; 定义拦截器顺序 permission lo ...
随机推荐
- Upload files to aliyunOSS with bootstrap-fileinput
本文主要涉及两个概念: 阿里云OSS:对象存储(Object Storage Service,简称OSS),是阿里云对外提供的海量.安全和高可靠的云存储服务. bootstrap-fileinput: ...
- js学习笔记(一)
js 有5中原始类型:number. string. boolean. null.undefined js 有6中类型: 5中原始类型 在加上1中Object类型 typeof null === 'o ...
- LSTM 分类器笔记及Theano实现
相关讨论 http://tieba.baidu.com/p/3960350008 基于教程http://deeplearning.net/tutorial/lstm.html LSTM基本原理http ...
- JS验证输入网址
function CheckUrl(a) { var falg = true; var regstr = /^http(s)?:\/\/([\w-]+\.)+[\w-]+(\/[\w- . ...
- BAT的面试经验_摘抄
一.心态 心态很重要! 心态很重要! 心态很重要! 重要的事情说三遍,这一点我觉得是必须放到前面来讲. 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公 ...
- Scrum7.0
Sprint回顾 让我们一次比一次做得更好. 1.回顾组织 主题:“我们怎样才能在下个sprint中做的更好?” 时间:1个小时 参与者:整个团队 场所:课室 秘书:陈程 2.回顾流程 (1)spri ...
- 简单的VC++ ADO帮助类
首先看头文件 #pragma once #import "c:\Program Files\Common Files\System\ado\msado15.dll" no_name ...
- JS里面利用random()实现随机颜色更换
首先你需要一个div <div id="box"></div> 然后给这个div加入CSS属性 #box{width:500px;height:500px; ...
- note->notice
登陆博客园,乍眼一看上一篇博客的日期还是2月底,如今已是5月份,期间好几次想要记录一些东西,总感觉现在一天二十四小时越来越短,有几次登陆博客园甚至连密码都要重置一下才能登陆...这两个月的时间里经理了 ...
- 9.5.8 Optimizing InnoDB Disk I/O
如果你数据库设计以及sq操作都是最佳实践,但是你数据库仍然被较重的io活动拖累的较慢,那么试一试看看top或者windows的任务管理器,cpu使用率和工作量低于70%,那么或许是您的硬盘较慢. 1 ...