zoukankan      html  css  js  c++  java
  • MVC Filter

    MVC Filter是典型的AOP(面向切面编程)。MVC框架支持5种不同类型的过滤器,每种类型让你能够在请求处理类型的不同点上引入逻辑。下图描述了集中过滤器类型:

    不同类型的Filters

    1. Authorization filters – 实现IAuthorizationFilter 特性.
    2. Action filters – 实现IActionFilter 特性.
    3. Result filters – 实现IResultFilter 特性.
    4. Exception filters –实现IExceptionFilter 特性.

    Filters 按照上面列出的顺序执行。例如, authorization filters 总是在action filters之前执行,exception filters在所有其他类型的filter之后执行.

    ActionFilterAttribute 基类

    为了使你能够更加容易的实现自定义的action filter, ASP.NET MVC框架包含一个ActionFilterAttribute 基类. 这个类实现了IActionFilter 与IResultFilter 接口,并且继承了Filter 类。

    ActionFilterAttribute 基类拥有以下可以重载的方法:

    • OnActionExecuting在action method调用前发生。
    • OnActionExecuted在action method调用后发生, 但是在result执行前发生 (在 view 呈现前)
    • OnResultExecuting在result执行前发生(在view 呈现前)
    • OnResultExecuted 在result执行后发生(在view 呈现后)

    1.认证过滤器

       认证过滤器是MVC第5版本的新特性,它对应用程序中的控制器和动作方法如何验证用户提供了细粒度的控制。

    2.授权过滤器

    新建类TestAuthorizeAttribute

     public class TestAuthorizeAttribute:AuthorizeAttribute
        {
            public override void OnAuthorization(AuthorizationContext filterContext)
            {
                filterContext.HttpContext.Response.Write("OnAuthorization<br/>");
                //注释掉父类方法,因为父类里的 OnAuthorization 方法会调用asp.net的授权验证机制!
                // base.OnAuthorization(filterContext);
            }
        }
  • 相关阅读:
    CF91 B. Queue
    CF18 C. Stripe
    CF767 A. Snacktower
    CF349 B. Color the Fence
    CF519 B. A and B and Compilation Errors
    NLog Helpper日志帮助类配置和使用
    一步一步搭建 .net core 应用
    使用webform、websevice来进行ajax请求操作
    各种奇技淫巧-持续更新
    防止表单提交时刷新页面-阻止form表单的默认提交行为
  • 原文地址:https://www.cnblogs.com/marshhu/p/6927450.html
Copyright © 2011-2022 走看看