zoukankan      html  css  js  c++  java
  • MVC4过滤器

    MVC4提供的四种基本类型过滤器接口,IAuthorizationFilter、IActionFilter、IResultFilter和IExceptionFilter,可通过继承对应的接口和FilterAttrbute特性,定义自己的过滤器,也可继承内置的过滤器,重写相应的方法,完成自己的需求。

    授权:IAuthorizeFilter  授权过滤器接口,对身份进行验证

    活动:IActionFilter     行为过滤器接口, 执行Action方法前后执行逻辑

    结果:IResultFilter    结果过滤器接口,提供了在返回结果前后执行方法

    异常:IExceptionFilter  异常过滤器接口,可对其设定在出现异常后的处理方式和方法。

    一.授权过滤器:

    AuthorizeAttribute:授权过滤器特性,继承 FilterAttribute, IAuthorizationFilter

    若是要自定义授权特性,可以继承于AuthorizeAttribute,然后重写AuthorizeCore(自定义授权)和HandleUnauthorizedRequest(授权失败执行逻辑)的方法。也可以直接继承于FilterAttribute和IAuthorizationFilter,重写OnAuthorization方法。

    二:方法/行为结果过滤器:

    自定义方法行为过滤器,只需要继承于ActionFilterAttribute即可,也可根据自己所需,是否继承IActionFilter和IResultFilter,再继承于FilterAttribute,自定义过滤器。

    ActionFilterAttribute 继承了IActionFilter,IResultFilter接口,实现了接口方法。

    OnActionExecuting:执行Action前执行

    OnActionExecuted:执行Action后执行

    OnResultExecuting:返回结果前执行方法

    OnResultExecuted:返回结果后执行方法

    三:异常过滤器

    自定义异常过滤器,只需要继承于内置HandleErrorAttribute接口即可。也可自定义异常过滤器,继承于FilterAttribute 和IExceptionFilter.

    OnException方法:在抛出异常时执行的方法。启用这个异常功能:

    使用异常过滤器,需要两个步骤:

       Web.Config 文件配置

       <customErrors  mode="On"></customErrors>

    开启自定义错误配置

       使用handleError特性注释动作或控制器类

       [HandleError (Order = 1 ,ExceptionType = typeof(sqlException),

       View = "错误处理的视图")]

    Pubic  ActionResult About(){}

  • 相关阅读:
    kafka集群搭建
    更改:把redis替换成kafka
    mysql+canal+kafka+elasticsearch构建数据查询平台
    zookeeper集群搭建
    另类--kafka集群中jmx端口设置
    kafka集群中jmx端口设置
    使用zookeeper报错 stat is not executed because it is not in the whitelist. envi is not executed because it is not in the whitelist.
    使用python的kazoo模块连接zookeeper实现最基本的增删改查
    Maven之阿里云镜像仓库配置
    通过yum安装maven
  • 原文地址:https://www.cnblogs.com/genesis/p/5222854.html
Copyright © 2011-2022 走看看