自定义过滤和全过滤
过滤类有两种方式,一种是可以打标签单独过滤一个方法的自定义过滤类,还有一种是直接继承过滤类,实现控制器全过滤的方式。
自定义过滤类
新建一个类,然后继承ActionFilterAttribute,输入override,然后选择OnActionExecuting,里面写判断即可。
1 2 3 4 5 6 7 8 9 10 11 12 |
public class BackCheck:ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Session["user"] == null) { filterContext.Result = new RedirectResult("/Admin/Login"); } base.OnActionExecuting(filterContext); } } |
打上标签即可使用

全过滤类
全过滤类跟自定义过滤类的区别就在于继承的不同,全过滤类继承的是Controller
1 2 3 4 5 6 7 8 9 10 11 |
public class AllBackCheck:Controller { protected override void OnActionExecuting(ActionExecutingContext filterContext) { if (filterContext.HttpContext.Session["user"] == null) { filterContext.Result = new RedirectResult("/Admin/Login"); } base.OnActionExecuting(filterContext); } } |
使用就让控制器继承这个过滤类即可

评论