【问题标题】: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 调用不会重新调整任何错误,页面直接进入登录页面。

    【讨论】: