我有一个启用了Windows身份验证的ASP.NET Web Api 2.2。
此外,我有一个使用.NET Framework 4.0的客户端连接到此WebAPI:
HttpClientHandler handler = new HttpClientHandler()
{
UseDefaultCredentials = true
};
// Llamar al servicio web para obtener los códigos.
using (var client = new HttpClient(handler))
{
}
但客户端将在计算机上运行,该计算机与web api不在同一个域中。
UseDefaultCredentials = true
是否需要将用户,密码和域传递给网络服务?
答案 0 :(得分:1)
IIS将尝试使用Windows身份验证验证进入的HTTP请求,并且它将失败,因为该框位于不同的域中。您的服务器端代码都不会执行。查看Fiddler中的HTTP请求/响应流程或浏览器开发人员工具,以更好地了解Windows身份验证的过程。
您可以在服务器上创建一个启用了匿名访问的页面,该页面可以运行一些身份验证代码,但您需要考虑如何安全地发送用户名和密码...