mvc通过添加属性来判断session是否失效

来源:互联网 发布:python cursor 编辑:程序博客网 时间:2024/04/29 07:03

1.首先定义一个特性来判断是否登陆

 [AttributeUsage(AttributeTargets.Class | AttributeTargets.Method, AllowMultiple = false)]
    public sealed class DomainLogInAttribute: ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {
            if (filterContext.HttpContext.Session["LoginUser"] == null)
            {
                filterContext.Result = new RedirectResult("http://www.baidu.com");//也可以跳到别的站点
            }
        }
    }
2.然后在到Global.asax全局类里面对FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);中的FilterConfig这个类添加(如果在这里添加了,则对所有的页面都进行了检查,所以此步骤根据需求来使用)

public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
          filters.Add(new DomainLogInAttribute())//你刚刚定义的特性
        }
3.第二步就可以实现每一个视图都会进行过滤,如果不想全局,还可以直接在视图中指定视图进行判断,比如

[DomainLogIn]
        public ActionResult Index()
        {
            return View();
        }

0 0
原创粉丝点击