将用户自动重定向到登录页面,而不是在 MVC ASP.NET 页面上崩溃



在我们的 ASP.NET MVC应用程序中,当会话超时时,页面会在我们有Jquery AJAX调用的组件上崩溃,但是如果我们手动加载页面,它会注销并重定向到登录页面。

我们希望用户在会话过期时自动重定向到登录页面,我们正在使用表单身份验证并定义了自定义主体。

global.asax中插入以下代码

public class SessionExpireAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (HttpContext.Current.Session["SessionId"] == null)
{
filterContext.Result = new RedirectResult("~/Home/Login");
return;
}
base.OnActionExecuting(filterContext);
}
}

并在每个控制器中调用此属性,如下所示

[SolutionName.MvcApplication.SessionExpire]
public class HomeController : Controller
{
}

相关内容

  • 没有找到相关文章

最新更新