这是坚果。
我有一个使用Windows身份验证的ASP.NET MVC应用程序,除了其他功能之外,还通过向其返回JSON数据来与许多ExtJs Javascript组件进行交互。
问题在于,即使用户成功通过身份验证,每隔5次从MVC获取一些JSON数据的请求也会导致两个“401 Unauthorized”响应,然后是“200 OK”响应。再次,这发生在每5次呼叫......为什么?我不知道。
有趣的是,每个响应都包含预期的JSON !!!
是否有其他人遇到此行为或对其发生原因有任何想法?
谢谢 - wg
答案 0 :(得分:3)
这似乎是Windows身份验证的设计工作方式:
How do I stop 401 responses from TFS 2008
我在IIS 6上运行的ASP.NET MVC应用程序遇到了同样的问题,但是使用了Forms身份验证。它让我疯狂,直到我意识到我们的服务器设置为通过NTLM为每个请求进行身份验证,因为它是一个内部Intranet服务器。所以它确实是一个非问题,因为请求在200响应之后处理正常,并且似乎根本不会使加载时间陷入停滞。
答案 1 :(得分:0)
我曾经遇到过这种情况,在我看来,这是因为我让虚拟网络文件夹使用了两种不同的身份验证方法:Windows身份验证和基本身份验证。
每隔一段时间,IIS就会尝试使用Windows身份验证来验证用户身份,而不是使用我认为可以使用的基本HTTP身份验证(这种情况尤其发生在Internet Explorer中)并返回“未经授权”的响应。
尝试禁用您未使用的身份验证方法,并查看会发生什么。