zoukankan      html  css  js  c++  java
  • MVC过滤器的用法

    实例产品基于asp.net mvc 5.0框架,源码下载地址:http://www.jinhusns.com/Products/Download

    在Asp.net Mvc中当你有以下及类似以下需求时你可以使用Filter功能

    • 判断登录与否或用户权限
    • 决策输出缓存
    • 防盗链
    • 防蜘蛛
    • 本地化与国际化设置
    • 实现动态Action

    Asp.Net MVC提供了以下几种默认的Filter:

    需要注意一点,Asp.Net MVC提供的ActionFilterAtribute默认实现了IActionFilter和IResultFilter。而ActionFiterAttribute是一个Abstract的类型,所以不能直接使用,因为它不能实例化,所以我们想使用它必须继承一下它然后才能使用。
    Filter继承于ActionFiterAtribute抽象类并可以覆写void OnActionExecuting(ActionExecutingContext)和void OnActionExecuted(ActionExecutedContext)以及void OnResultExecuting(ResultExecutingContext)和voidOnResultExecuted(ResultExecutedContext)。
    它们的执行先后顺序如下:

      OnActionExecuting是Action执行前的操作
      OnActionExecuted则是Action执行后的操作
      OnResultExecuting是解析ActionResult前执行
      OnResultExecuted是解析ActionResult后执行

    在这里只讲一个常用的,在Action执行前的操作,用于验证用户是否登录或权限是否通过
    下面是过滤器的重写方法:Message是参数(可以不需要)

    然后是Action的使用方法,在Action上面加过滤器的标示,并且可以加参数,如下所示

    然后通过浏览器访问上面的Action便可以看到下面的执行顺序:

  • 相关阅读:
    POJ1251 Jungle Roads 【最小生成树Prim】
    聪明的kk
    日积月累:weightSum和layout_weight属性合用
    ubuntu 下舒畅的使用libreoffice
    maple 教程
    龙、虎、鲸书杂谈
    百度没出新算法之前这样的最好的的优化方案
    DWR入门实例(二)
    Android应用公布的准备——生成渠道包
    leetcode第一刷_Spiral Matrix II
  • 原文地址:https://www.cnblogs.com/tuoyu123/p/8417226.html
Copyright © 2011-2022 走看看