标签:
namespace AuthorFilter.Filters
{
//自己定义的类继承AuthorizeAttribute(system.Web.Mvc)
public class MyAuthorization:AuthorizeAttribute
{
//重写OnAuthorization
public override void OnAuthorization(AuthorizationContext filterContext)
{
//这句话不能要
//base.OnAuthorization(filterContext);
//跳转不能用filterContext.HttpContext.Response.Redirect();
//这样转的话服务器代码还是会执行Index方法
//filterContext.RouteData
//跳转到登陆页面
//filterContext.Result = new RedirectResult("/Home/Login");
filterContext.HttpContext.Response.Write("我先执行");
}
}
}
//第一种方法
[MyAuthorization]
public ActionResult Index()
{
return View();
}
//第二种过滤方式,重写控制器方法,这样的话,当前控制器下的所有的行为都会应用这个验证(不如特性的灵活)
protected override void OnAuthorization(AuthorizationContext filterContext)
{
filterContext.HttpContext.Response.Write("我先执行了,我重写了这个控制器的方法");
}
标签:
原文地址:http://www.cnblogs.com/bidianqing/p/4207335.html