一种方法是在会话过期的情况下,在每个操作中您都必须检查其会话,如果它为空,则重定向到登录页面。
但这是非常忙碌的方法
要克服这个问题,您需要创建自己的方法ActionFilterAttribute
来执行此操作,您只需在每个操作方法中添加此属性。
这是覆盖 ActionFilterAttribute 的类。
public class SessionExpireFilterAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
HttpContext ctx = HttpContext.Current;
// check if session is supported
CurrentCustomer objCurrentCustomer = new CurrentCustomer();
objCurrentCustomer = ((CurrentCustomer)SessionStore.GetSessionValue(SessionStore.Customer));
if (objCurrentCustomer == null)
{
// check if a new session id was generated
filterContext.Result = new RedirectResult("~/Users/Login");
return;
}
base.OnActionExecuting(filterContext);
}
}
然后在行动中添加这个属性,如下所示:
[SessionExpire]
public ActionResult Index()
{
return Index();
}
这会让你工作。