我正在使用MVC4应用程序并使用WebAPI来获取/发送我的所有数据.在控制器中,我使用HttpClient请求来获取数据,并且一切正常.我面临的问题是,当在项目中启用Windows身份验证时,Web API调用将返回401 Unauthorized错误.
我的控制器中执行调用的代码是:
using (var client = new HttpClient())
{
var invoiceDetailUrl = BASE_URL + Url.HttpRouteUrl(
"DefaultApi",
new { controller = "InvoiceDetails", id = id }
);
var result = client.GetAsync(invoiceDetailUrl).Result;
}
Run Code Online (Sandbox Code Playgroud)
必须为站点启用Windows身份验证,但不一定是Web API控制器.我试过在web.config中排除API控制器,如下所示:
<location path="api">
<system.web>
<authorization>
<allow users="*"/>
</authorization>
</system.web>
</location>
Run Code Online (Sandbox Code Playgroud)
但web.config的添加没有做任何事情.
有什么建议?