【发布时间】:2013-01-23 14:05:12
【问题描述】:
我正在处理的应用程序遇到 Ajax 问题。 Web 应用程序是用 ASP.NET 4.5 编写的,它更具体地派生自 Visual Studio 2012 中的默认 MVC 示例应用程序。该应用程序托管在本地 IIS 服务器上(不是快速版本),并且需要 Windows 身份验证(当前为 NTLM)出于安全原因冒充客户。
我有两个问题。
网站在浏览时正确地验证了客户端,但由于某种模糊的原因,每次 Ajax 调用都失败,出现 401 Unauthorized 错误(它在使用匿名身份验证时工作,所以我猜凭据没有封装在请求中?! )。我还没有时间调查他们之间的交流,但我相信这里的一位大师能够提供帮助。
最终,Windows 身份验证提供程序将移至 kerberos。关于这个 Ajax 问题有什么需要特别注意的吗?
如果您需要任何其他信息,请告诉我。
编辑 1
我觉得自己很愚蠢……重新启动 IIS 解决了这个问题。有时 IT 是一种乐趣......
谢谢大家。
【问题讨论】:
-
可能是浏览器问题。你使用的是什么浏览器?我不确定 Windows 身份验证,但我从使用 Firefox 执行 Kerberos 的经验中知道,您必须向浏览器添加一些配置条目才能使其正常工作。
-
Chromium22 和 IE8 的行为相同。是的,你是对的,我也用 --auth-server-whitelist 调用 chromium ,但无论如何都是为了以后。我会用谷歌搜索一下,这是个好主意,谢谢。
-
你解决过这个问题吗?我遇到了一个非常相似的问题。 Chrome 在收到带有 WWW-Authenticate:Negotiate from an AJAX 请求的 401 后不进行协商。
-
是的,我只是重新启动了 IIS。还要确保清空浏览器缓存。
-
关于 jQuery 调用服务的身份验证问题有很多问题 - 开始怀疑这是否是 jQuery 错误。首先在这里检查一些基本的第一步:stackoverflow.com/a/47916916/5196274
标签: jquery asp.net ajax authentication iis