我在我的网站中使用asp.net Windows身份验证。 身份验证后,网站即可正常运行(即使ajax请求也被授权)。
但是在我对服务器进行ajax调用一段时间之后,服务器返回了403状态代码(未经授权)。
原因是什么,我该如何解决?
情况是这样:
1-首先,我使用LDAP凭据登录
2-打开一个包含用于使用ajax提取数据的按钮的页面
3-单击按钮时获取数据。但是,在使网站处于空闲模式一段时间而不向服务器发出任何请求之后,AJAX调用返回403状态(禁止)
请注意,当我重定向到其他页面时,一切正常。我没有返回403状态代码。
这是ajax请求:
$.ajax({
url: '/GetFilteredRecords/',
data://filter goes here,
type: 'GET',
success: function (result) {
//display result
},
error: function (result) {
alert("something went wrong");
}
});
答案 0 :(得分:0)
这是Windows身份验证的正常行为。 Windows身份验证支持多种身份验证协议-Kerberos,NTLM,也许其他。您的浏览器尝试一种身份验证方法,当它失败时,它将尝试另一种身份验证方法,直到成功为止。您不必为此担心。如您所见,对相同URL的第二个请求成功。您可以查看每个请求的身份验证标头,以了解其确切功能。