过滤器(Filter)把附加逻辑注入到MVC框架的请求处理。实现了交叉关注

交叉关注:用于整个应用程序,又不适合放在某个局部位置的功能。

 

过滤器是.NET的注解属性(Attribute),它们对请求处理管道添加了额外的步骤。

注解属性是派生于System.Attribute的特殊的.NET类。

可以被附加到类、方法、属性、字段等代码元素上。其目的是把附加信息嵌入到已编译的代码中,以便在运行时读回这些信息。

 

过滤器的基本类型:

过滤器类型

接口

默认实现

描述

Authorization

IAuthorizationFilter

AuthorizationAttribute

最先运行

Action

IActionFilter

ActionFilterAttribute

在动作方法前后运行

Result

IResultFilter

ActionResultAttribute

在动作结果被执行前后

Exception

IExceptionFilter

HandlerErrorAttribute

仅在过滤器、动作发生异常时

 

授权过滤器:IAuthorizationFilter

namespace System.Web.Mvc{

    // 摘要:定义授权筛选器所需的方法。

    public interface IAuthorizationFilter{

        // 摘要:在需要授权时调用。

        // 参数:filterContext:筛选器上下文。

        void OnAuthorization(AuthorizationContext filterContext);

    }

}
View Code

相关文章: