在返回 JSON 的 ASP.NET MVC 应用程序中,每 5 次调用就会返回 401
-
22-07-2019 - |
题
这太疯狂了。
我有一个使用 Windows 身份验证的 ASP.NET MVC 应用程序,除其他外,它通过向多个 ExtJs Javascript 组件返回 JSON 数据来与它们进行交互。
问题是,即使用户成功通过身份验证,每 5 个从 MVC 获取一些 JSON 数据的请求都会导致两个“401 Unauthorized”响应,后跟一个“200 OK”响应。同样,这种情况每第五次调用就会发生一次......为什么?我不知道。
有趣的是,每个响应都包含预期的 JSON!!!
其他人经历过这种行为或者对为什么会发生有任何想法吗?
谢谢-wg
解决方案
Windows 身份验证的设计工作原理似乎是这样的:
我在 IIS 6 上运行但使用表单身份验证的 ASP.NET MVC 应用程序也遇到了同样的问题。这让我抓狂,直到我意识到我们的服务器设置为通过 NTLM 对每个请求进行身份验证,因为它是内部 Intranet 服务器。所以这实际上不是问题,因为请求在 200 响应之后处理得很好,并且似乎根本没有拖延加载时间。
其他提示
我有这种事发生在我一次,在我的情况,那是因为我有虚拟的网络文件夹,使用两种不同的身份验证方法:Windows身份验证和基本身份验证。
每隔一段时间,IIS会尝试使用Windows身份验证,而不是我本来还打算为使用基本的HTTP认证的认证用户(这发生在Internet Explorer中最特别的是),并返回一个“未授权”的响应。
尝试禁用您不使用身份验证方法,看看会发生什么。
不隶属于 StackOverflow