Asp.net web api Webapi调用导致401次未经授权的访问

Asp.net web api Webapi调用导致401次未经授权的访问,asp.net-web-api,Asp.net Web Api,我目前正在通过服务器端代码进行webapi调用 var client = new HttpClient(new HttpClientHandler() {UseDefaultCredentials = true}); client.BaseAddress = new Uri(apiurl); client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("a

我目前正在通过服务器端代码进行webapi调用

        var client = new HttpClient(new HttpClientHandler() {UseDefaultCredentials = true});

        client.BaseAddress = new Uri(apiurl);
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
我是否需要在客户端标题中包含更多信息才能完成呼叫?这可能不足以回答这个问题,但在这种情况下,我不知道我不知道什么,因此,我不确定这个问题还包括哪些其他信息。webapi和web应用程序托管在同一IIS服务器实例上,因此调用的发起将来自同一根url。我已经在webapi中启用了CORS,只是将参数设置为星号以包含所有URL,但这仍然没有效果。任何帮助都将不胜感激

附加信息:这是响应中返回的头的值。看起来它正在使用NTLM身份验证

从本地GUI调用远程webapi

IS AUTH: True Username: xxx\xxxxxxxxx
AUTH TYPE: Negotiate
ApiURL: http://testserver1/bbwebapi/api/v1/bbapi/
OK
Pragma:no-cache
Persistent-Auth:true
Cache-Control:no-cache
Date:Mon, 31 Mar 2014 19:42:12 GMT
Server:Microsoft-IIS/7.5
X-AspNet-Version:4.0.30319
X-Powered-By:ASP.NET
远程服务器上相同的GUI代码调用远程webapi,顺便说一句,它们是相同的服务器。这些是头

IS AUTH: True Username: xxx\xxxxx
AUTH TYPE: Negotiate
ApiURL: http://testserver1/bbwebapi/api/v1/bbapi/
Unauthorized
Cache-Control:private
Server:Microsoft-IIS/7.5
WWW-Authenticate:Negotiate
X-Powered-By:ASP.NET
Date:Mon, 31 Mar 2014 19:44:30 GMT

IS AUTH、USERNAME和AUTHTYPE分别来自HttpContext.User.Identity.IsAuthenticated、HttpContext.User.Identity.Name和HttpContext.User.Identity.AuthenticationType

否这是不够的信息。传递的内容和方式取决于webapi的安全性。而且CORS只对基于JavaScript的客户端很重要。。。看,我不知道。。。那么我还需要在这里包括什么来澄清这个问题。我建议查看从响应返回的头,并尝试找出用于保护webapi的身份验证机制的类型。添加了有关响应头的其他信息OK。因此,您的服务正在使用Windows NTLM auth保护api端点。看看这里,看看这是否有帮助