4

我正在使用 asp.net,并且对于对服务器的每个请求,我的 Web 应用程序中都有 $.ajax 调用。

我想在会话结束时将用户重定向到登录页面。

在我的 web.config 我设置:

<authentication mode="Forms">
  <forms name=".CovertixAuthenticated" defaultUrl="Default.aspx" loginUrl="LoginPage.aspx" slidingExpiration="true" cookieless="UseCookies" protection="All" timeout="1"/>
</authentication>


  <sessionState mode="InProc" cookieless="UseCookies" timeout="1"/>

我签入.ajaxError:

$(document).ajaxError(function(xhr, props) {
    if (props.status == 401) {
        var ParentUrl = encodeURIComponent(window.parent.location.href);
        //alert(getLoginPage());
        document.location.href = getLoginPage() + "?ReturnUrl=" + ParentUrl;
    }
});

问题是我得到 responseCode = 500(内部服务器错误)

检查会话是否在 ajax 调用中过期的最佳方法是什么,或者如何在会话结束时自动将用户重定向到登录页面?

4

1 回答 1

0

谢谢大家的帮助!

我只是忘了添加到我的 web.config:

  <location path="MyPage.aspx">
    <system.web>
      <authorization>
        <deny users="?"/>
      </authorization>
    </system.web>
  </location>

现在我按预期得到 401 !

于 2013-10-01T14:43:31.660 回答