protected override void OnActionExecuting(ActionExecutingContext filterContext) { base.OnActionExecuting(filterContext); //if (Session["user"] == null) if (Request.Cookies["sessionId"] != null) { var sessionId = Request.Cookies["sessionId"].Value; //根据该值查Memcache. var obj = MemcacheHelper.Get(sessionId); if (obj == null) { filterContext.Result = Redirect("/Login/Index"); return; } var user = SerializeHelper.DeserializeToObject<User>(obj.ToString()); LoginUser = user; //模拟出滑动过期时间. MemcacheHelper.Set(sessionId, obj, DateTime.Now.AddMinutes(20)); } else filterContext.Result = Redirect("/Login/Index"); }
MVC使用Memcache+Cookie解决分布式系统共享登录状态(2)
内容版权声明:除非注明,否则皆为本站原创文章。