欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

mvc中的action验证登录(ActionFilterAttribute)

程序员文章站 2022-07-26 19:46:09
方法一 : 1.创建一个全局action过滤器 (在appstart 的filterconfig中注册 filters.Add(new LoginAttribute());) 2.不需要登录的contoller或者action 则在该类或者action上添加该过滤器特性 (isNeed=false) ......

mvc中的action验证登录(ActionFilterAttribute)

方法一 :  1.创建一个全局action过滤器  (在appstart  的filterconfig中注册   filters.Add(new LoginAttribute());)

       2.不需要登录的contoller或者action  

       则在该类或者action上添加该过滤器特性 (isNeed=false)

mvc中的action验证登录(ActionFilterAttribute)

方法二: 1.创建一个filter 不在全局注册

     2. 创建 一个baseControler ,然后再basecontroller上边添加该filter特性

               3.需要登录的则继承该basecontroller,不需要登录的则不继承该basecontroller

     补充:若是不想建baseControler ,怎可以直接在Controller控制器上或者Action方法上加自定义的过滤器

mvc中的action验证登录(ActionFilterAttribute)

 

 

注意: 1.OnActionExecuting 中   base.OnActionExecuting(filterContext);

              如果当前项目有多个filter则加上 base.OnActionExecuting(filterContext); 

             不添加则不会执行其他的filter

 

            2.filterContext.Result = new RedirectResult("/User/login");

              在filter里边页面跳转用  filterContext.Result = new RedirectResult("/User/login");

             如果用filterContext.HttpContext.Response.Redirect("/User/login");  则在跳转后还会继续执行  后边的action

          eg: home/index    跳转user/login  后,还会接着执行index/action  里边的方法