这是我的场景:
我的客户端在 DomainA 上运行。客户端点击 DomainB 上的 MVC Web 应用程序,并提示输入他们的登录凭据,他们提供并成功授予对应用程序的访问权限。
现在,当应用程序尝试向 WCF 服务(也在 DomainB 上运行,相同的服务器,不同的端口)发出 XMLHttpRequest 时,会再次提示用户输入他们的 DomainB 登录凭据。
有没有办法将用户的 DomainB 凭据与 XMLHttpRequest 一起传递?
这是我的场景:
我的客户端在 DomainA 上运行。客户端点击 DomainB 上的 MVC Web 应用程序,并提示输入他们的登录凭据,他们提供并成功授予对应用程序的访问权限。
现在,当应用程序尝试向 WCF 服务(也在 DomainB 上运行,相同的服务器,不同的端口)发出 XMLHttpRequest 时,会再次提示用户输入他们的 DomainB 登录凭据。
有没有办法将用户的 DomainB 凭据与 XMLHttpRequest 一起传递?
我发现通过安全服务器(在我的情况下是 IIS 上的 Windows 身份验证)提交 ajax 请求的唯一方法是对所有 POST 请求使用 iframe,尽管 get 请求通过 xml 请求对象工作。它实际上工作得很好。
框架 ajax 的唯一副作用是浏览器历史记录被每个请求填充。只需确保不再执行 javascript,这不是什么大问题。您也可以尝试使用 javascript 来操作历史记录,尽管我在尝试时遇到了一些有趣的错误。
就多个域而言,我只是在阅读另一篇关于此的 SO 帖子:在 iframe 中形成 POST 而不会影响历史