【问题标题】:MVC: Handle Authentication Timeouts through AjaxMVC:通过 Ajax 处理身份验证超时
【发布时间】:2026-02-17 18:00:01
【问题描述】:
因此,我们遇到了一些问题,即用户在尝试在网站上执行操作时遇到错误,我们认为这可能是用户登录超时/过期的结果。
我想知道是否有办法覆盖 ajax 调用正在尝试的内容并重定向到登录页面?
我希望我们不必进入站点中的每个 ajax 调用并添加类似 if(response.notLoggedIn) 的内容并从视图进行重定向。
任何建议将不胜感激。
干杯。
【问题讨论】:
标签:
ajax
asp.net-mvc
asp.net-ajax
【解决方案1】:
所以我错误地认为您不能在 ajax 调用中返回整个视图来中止正在发生的事情。
在身份验证控制器中我有这个。
注意:如果请求来自过期的连接,它将始终在此处结束。
if (Request.IsAjaxRequest())
{
TempData["toastrMessage"] = "Your session has expired.";
TempData["toastrType"] = "Error";
return View("LoginReload");
}
ajax 调用不会重新调整任何错误,页面直接进入登录页面。