ActionFilterAttribute 用于Action验证

ActionFilterAttribute是Action过滤类,该属于会在执行一个action之前先执行.而ActionFilterAttribute是
VC的一个专门处理action过滤的类.基于这个原理,
假设某个action:AdminIndex,我们给该Action的最起码访问要求是用户必须是登陆状态.那么,我们要做的工作就是在
[CheckLogin()]//在该Action上面加一个判断
public ActionResult AdminIndex()
{
return View();
} // end AdminIndex
上面说了,ActionFilterAttribute是过滤基类,所以CheckLogin()判断要继承ActionFilterAttribute如下:
public class CheckLoginAttribute : ActionFilterAttribute
{
public CheckLoginAttribute()
{}
} // end class CheckLoginAttribute
在ActionFilterAttribute基类中有个抽象方当
public abstract void OnActionExecuting(ActionExecutingContext filterContext);
顾名思义就是指当要执行一个Action之前要做啥工作.在CheckLoginAttribute继承主类后,要将该OnActionExecuting(..)方法重写如:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{} // end Action
这样的话,我们就可以将我们想做的处理写在该方法里头.如:
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
// 如果用户没有登陆
if(!UserLogin.IsLogined) 
{
// 处理方法
ErrorRedirect(filterContext); 
return;
}// end if
}
// 错误处理方法
private void ErrorRedirect(ActionExecutingContext filterContext)
{
filterContext.Result = new RedirectToRouteResult("Default", new RouteValueDictionary(new { controller = "Home", action = "Default" }));
} // end ErrorRedirect
当执行ErrorRedirect方法时,它会自己选择指定的Route并跳转到非AdminIndex的Action中.

转载于:https://blog.51cto.com/8288136/1696092

ActionFilterAttribute相关推荐

  1. 利用反射及ActionFilterAttribute实现MVC权限管理

    1.利用反射获取当前程序集下的所有控制器和方法,拼接后写入到数据库. public void GetRightInfo(){var ControllerIDMax = db.rights_info.S ...

  2. .NET WebAPI 用ActionFilterAttribute实现token令牌验证与对Action的权限控制

    项目背景是一个社区类的APP(求轻吐...),博主主要负责后台业务及接口.以前没玩过webAPI,但是领导要求必须用这个(具体原因鬼知道),只好硬着头皮上了. 最近刚做完权限这一块,分享出来给大家.欢 ...

  3. MVC之ActionFilterAttribute自定义属性

    ActionFilterAttribute里有OnActionExecuting方法,跟Controller一样, 同是抽象实现了IActionFilter接口. // 登录认证特性 public c ...

  4. 巧用ActionFilterAttribute实现API日志的记录

    背景 上回提到开发web api的时候,一般是需要记录api的输入输出信息,方便后续排查问题:使用的是委托的形式进行记录日志. 使用Func<T, TResult> 委托实现API日志的记 ...

  5. ASP.NET Core如何在ActionFilterAttribute里做依赖注入

    点击蓝字 关注我 在ASP.NET Core里,我们可以使用构造函数注入很方便地对Controller,ViewComponent等部件做依赖注入.但是如何给过滤器ActionFilterAttrib ...

  6. MVC中利用ActionFilterAttribute过滤关键字

    在开发过程中,有时候会对用户输入进行过滤,以便保证平台的安全性.屏蔽的方法有很多种,但是今天我说的这种主要是利用MVC中的ActionFilterAttribute属性来实现.由于MVC天然支持AOP ...

  7. Web API Filter ActionFilterAttribute 使用

    WebApi 提供两种过滤器的类型: 1.ActionFilterAttribute 2.exceptionFilterAttribute 两个类都是抽象类,ActionFilter 主要实现执行请求 ...

  8. Microsoft MVC Preview 2 ActionFilterAttribute实际开发中的应用

    这个功能大大节约了我们开发中的编码数量.它的定义我也不多说了,我只是把我自己已经用到的代码给大家共享一下 ActionFilterAttribute的定义: 或是写成这样 下面那种名称的定义在很用的时 ...

  9. MVC之 自定义过滤器(ActionFilterAttribute)

    一.自定义Filter 自定义Filter需要继承ActionFilterAttribute抽象类,重写其中需要的方法,来看下ActionFilterAttribute类的方法签名. //表示所有操作 ...

  10. MVC 过滤器使用 ActionFilterAttribute

    在asp.net mvc 中 webapi 和 mvc 处理消息是两个不同的管道,Asp.net mvc 和 webapi 为我们提供的 ActionFilterAttribute 拦截器,通过 重写 ...

最新文章

  1. pku The Windy's KM最小权匹配 or 最小费用最大流
  2. 计算机组成原理怎么考察的,计算机组成原理课程考察报告(论文).doc
  3. (23)逆向分析 MmIsAddressValid 函数(XP系统 10-10-12分页)
  4. 针对表单的事件;条件语句;定时器的简单介绍;
  5. 项目经理在项目各阶段的工作重点
  6. 因为喜欢,所以选择它
  7. python安装缺少api怎么办_请问缺少win32api模块该如何解决?
  8. scrollbarStyle属性
  9. Spring Boot(一) 建立spring boot工程
  10. Windows10使用Anaconda安装TensorFlow-GPU
  11. 工具的使用 —— 搜狗输入法(二)
  12. eureka 注册中心高可用失败,没有互为副本
  13. Qtp10安装过程遇到的问题
  14. 怎样做计算机系统的镜像文件,Windows7 镜像制作过程 图文说明
  15. mysql实现火车购票系统_火车票购票系统的设计与实现(MyEclipse,MySQL)
  16. 对XSCJ数据库进行数据查询 -- 学生成绩管理系统
  17. 制作业信息化为什么难施行?
  18. 通过手机实现外网远程唤醒内网下的群辉Nas等设备
  19. 全球与中国线锯钢线市场深度研究分析报告
  20. Guitar Pro 的木吉他音色改成电吉他音色的方法

热门文章

  1. Linux查看非root流程执行
  2. logo设计好坏的12个标准
  3. 正确理解和使用GBK及UTF-8编码
  4. nodepad++通过正则表达式,删除带有特殊字符的某一行
  5. Kotlin学习笔记(1):标签
  6. jasoncpp读取jason数据如何判断某一字段是否存在
  7. MFC vs2012 Office2013 读写excel文件
  8. String类的两种赋值
  9. 实战案例:探索星巴克的世界分布
  10. 如何减少java里的分支_idea切换分支的时候,忽略一些无用的修改设置