ASP.NET Windows身份验证+ Ajax = 403错误状态代码

时间:2019-01-07 15:14:18

标签: c# asp.net ajax windows-authentication

我在我的网站中使用asp.net Windows身份验证。 身份验证后,网站即可正常运行(即使ajax请求也被授权)。

但是在我对服务器进行ajax调用一段时间之后,服务器返回了403状态代码(未经授权)。

原因是什么,我该如何解决?

情况是这样:

1-首先,我使用LDAP凭据登录

enter image description here

2-打开一个包含用于使用ajax提取数据的按钮的页面

enter image description here

3-单击按钮时获取数据。但是,在使网站处于空闲模式一段时间而不向服务器发出任何请求之后,AJAX调用返回403状态(禁止)

enter image description here

请注意,当我重定向到其他页面时,一切正常。我没有返回403状态代码。

这是ajax请求:

$.ajax({
        url: '/GetFilteredRecords/', 
        data://filter goes here,
        type: 'GET',
        success: function (result) { 
           //display result
        },
        error: function (result) {
           alert("something went wrong");
        }
});

1 个答案:

答案 0 :(得分:0)

这是Windows身份验证的正常行为。 Windows身份验证支持多种身份验证协议-Kerberos,NTLM,也许其他。您的浏览器尝试一种身份验证方法,当它失败时,它将尝试另一种身份验证方法,直到成功为止。您不必为此担心。如您所见,对相同URL的第二个请求成功。您可以查看每个请求的身份验证标头,以了解其确切功能。