javascript - ajax 发布到 SharePoint Web 服务因 ntlm 挑战而中断

标签 javascript ajax sharepoint xmlhttprequest ntlm

我有一个 Web 部件,在 UI 的实现中大量使用 JavaScript。它还使用对某些 SharePoint Web 服务的异步 XmlHttpRequest 请求(顺便说一句,我正在使用 SPServices)。

对于某些请求,用户面临 NTLM 身份验证质询,输入凭据后,请求完成。尽管有超过 3 个请求,但在一页加载时这种情况会发生 3 次。我觉得有几件事令人困惑:

  • 正如我所说,并非所有请求都会出现此问题
  • 用户已经通过 NTLM 身份验证访问了该网站,那么为什么 ajax 请求会受到质疑?
  • 这是在 Windows 域环境中。在无域环境下,不存在这个问题(虽然两者都使用了Windows auth)。

当然,这一切都是在IE中进行的。我尝试过的一件事是将 NTLM 身份验证 header 插入到 ajax 请求中,但这并没有改变任何东西(我真的不认为会改变,但值得一试)。

有什么建议吗?

最佳答案

事情不应该是这样的。 Windows 身份验证是针对每个进程的,如果您已经通过身份验证,那么当您再次加载某些内容时,您将保持身份验证,无论它是浏览器的主连接还是 XHR 请求。

我在我们的一台测试服务器中看到了这种奇怪的行为。在这种情况下,对 SharePoint 的 WebDAV 访问也被破坏,有时您无法访问 \\sharepointserver\sites\somesite 路径(但几分钟后您可以再次访问)。在这种情况下,Kerberos 身份验证似乎出现了问题,有时会发出错误的 token 。但是,我们没有解决这个问题,只是安装了一台新服务器并向其附加了内容数据库。这有效:-)

关于javascript - ajax 发布到 SharePoint Web 服务因 ntlm 挑战而中断,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2150762/

相关文章:

javascript - Node.js 和 FRP(bacon.js) 中的原生 JS

javascript - 如何按数组字段值javascript对数组进行排序

php - Ajax 内容加载后滚动到顶部

javascript - 在 Sharepoint 2013 中使用 JavaScript 检索查找的链接列表

javascript - wp_head 在插件中不起作用

javascript - 如何在 document.execCommand ('justifyRight' 之后删除 contentEditable 上的奇怪选择)?

javascript - 如何设置ajax超时?

jquery - Ajax : empty json response when using Karma

sharepoint - 来自 SPWeb 的计时器作业

sharepoint - SharePoint 开发人员学习 React.js 和 Typescript 有好处吗?