主要是用于记录用户操作动态,

 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拦截器记录操作用户日志的更多相关文章

  1. spring mvc 通过拦截器记录请求数据和响应数据

    spring mvc 能过拦截器记录请求数据记录有很多种方式,主要有以下三种: 1:过滤器 2:HandlerInterceptor拦截器 3:Aspect接口控制器 但是就我个人所知要记录返回的数据 ...

  2. spring mvc 拦截器的使用

    Spring MVC 拦截器的使用 拦截器简介 Spring MVC 中的拦截器(Interceptor)类似于 Servler 中的过滤器(Filter).用于对处理器进行预处理和后处理.常用于日志 ...

  3. mvc拦截器

    在ASP.NET MVC中,有三种拦截器:Action拦截器.Result拦截器和Exception拦截器.这里说的是第一种和第三种.其实所谓的ASP.NET MVC拦截器,也没什么神秘的,就是一个普 ...

  4. 【Java Web开发学习】Spring MVC 拦截器HandlerInterceptor

    [Java Web开发学习]Spring MVC 拦截器HandlerInterceptor 转载:https://www.cnblogs.com/yangchongxing/p/9324119.ht ...

  5. Spring Boot 2.X(九):Spring MVC - 拦截器(Interceptor)

    拦截器 1.简介 Spring MVC 中的拦截器(Interceptor)类似于 Servlet 开发中的过滤器 Filter,它主要用于拦截用户请求并作相应的处理,它也是 AOP 编程思想的体现, ...

  6. 写的太细了!Spring MVC拦截器的应用,建议收藏再看!

    Spring MVC拦截器 拦截器是Spring MVC中强大的控件,它可以在进入处理器之前做一些操作,或者在处理器完成后进行操作,甚至是在渲染视图后进行操作. 拦截器概述 对于任何优秀的MVC框架, ...

  7. SSM(spring mvc+spring+mybatis)学习路径——2-2、spring MVC拦截器

    目录 2-2 Spring MVC拦截器 第一章 概述 第二章 Spring mvc拦截器的实现 2-1 拦截器的工作原理 2-2 拦截器的实现 2-3 拦截器的方法介绍 2-4 多个拦截器应用 2- ...

  8. Spring MVC拦截器配置

    Spring MVC拦截器配置 (1)自定义拦截器 package learnspringboot.xiao.other; import org.springframework.web.servlet ...

  9. 对于Spring MVC 拦截器的一些了解

    Spring MVC 拦截器的执行顺序 应用场景 假设请求 localhost:8080/ 则要求直接重定向到 localhost:8080/login ; 定义拦截器顺序 permission lo ...

随机推荐

  1. 【MySQL】 GTID使用

    参考:http://hcymysql.blog.51cto.com/5223301/1579197 参考:http://blog.itpub.net/29733787/viewspace-146255 ...

  2. python切片操作

    序列类型是其元素被顺序放置的一种数据结构类型,这种方式允许通过下标的方式来获得某一个数据元素,或者通过指定下标范围来获得一组序列的元素.这种访问序列的方式叫做切片.字符串也可以使用切片操作.切片操作符 ...

  3. 游戏笔记之《Fez》

    FEZ 游戏名称:菲斯 英文名称:Fez 游戏类型:ACT(动作游戏),AVG(冒险游戏) 游戏制作:Polytron Corporation 游戏发行:Trapdoor 游戏平台:PC 游戏画面: ...

  4. 移动端rem页面详谈

    rem布局是移动端常见的布局之一,也是较为成熟的方案.接下来就详细说以下rem布局的实际操作. 1.首先加<meta />标签,设置视口的大小,不多说. <meta name=&qu ...

  5. http://blog.csdn.net/shawnkong/article/details/52045894

    http://blog.csdn.net/shawnkong/article/details/52045894

  6. Windows性能优化关键点-Windows Performance tuning important settings

    最近重装了windows8系统,发现性能差得很,远不如官方说的比win7好很多的说法.经过几个关键配置的调整,终于找回电脑原来的风采. 下面总结一下,希望对大家有帮助: 1. 检查windows服务, ...

  7. nmon工具的安装及简单使用

    1.工具的安装 下载rpm包安装即可http://mirror.ghettoforge.org/distributions/gf/el/6/gf/x86_64/nmon-14i-1.gf.el6.x8 ...

  8. mapreduce出现类似死锁情况

    在往hbase表里通过bulkload导数据时,某个mapreduce跑了一个多小时还没跑,看yarn界面,发现map还有一小部分没跑完,没跑完的map全在pending,running中没有,同时r ...

  9. openssl使用多种方法签名、自签名

    1.自建CA 自建CA的机制:1.生成私钥2.创建证书请求,在创建证书请求过程中由于需要提供公钥,而公钥来源于私钥,所以也需要指定私钥来创建证书请求,而实际上这里提供私钥的作用就是提取其中的公钥,这一 ...

  10. 一、prolog简介

    一般来说,人工智能语言应具备如下特点: 1.具有符号处理能力(即非数值处理能力): 2.适合于结构化程序设计,编程容易: 3. 具有递归功能和回溯功能: 4. 具有人机交互能力: 5. 适合于推理: ...