过滤器

过滤器 继承AuthorizeAttribute类,实现 AuthorizationFilter(授权/最先执行),IActionFilter(行为/方法前后),IResultFilter(结果/视图渲染/),IExceptionFilter(异常)接口
 
public class MyFilter : AuthorizeAttribute, IAuthorizationFilter,IActionFilter,IResultFilter,IExceptionFilter
{
    void IAuthorizationFilter.OnAuthorization(AuthorizationContext filterContext)
    {
      if(System.Web.HttpContext.Current.Session["userName"]==null)
      {
        filterContext.Result = new RedirectResult("Home/Index");
      }
      filterContext.HttpContext.Response.Write("方法前后");
      filterContext.HttpContext.Response.Redirect("error");//异常
    }
}

例如校验登录过滤器

  /// <summary>
    /// 校验登录过滤器
    /// </summary>
    public class CheckIsLogin : AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (HttpContext.Current.Session["userInfo"] == null)
            {
                filterContext.Result = new RedirectResult("/Login/Login");             
            }
        }
    }
作者:chenze
出处:https://www.cnblogs.com/chenze-Index/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
如果文中有什么错误,欢迎指出。以免更多的人被误导。
原文地址:https://www.cnblogs.com/chenze-Index/p/9293643.html