相关疑难解决方法(0)

禁用WebAPI的Windows身份验证

我正在使用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的添加没有做任何事情.

有什么建议?

c# asp.net-mvc-4 asp.net-web-api

48
推荐指数
2
解决办法
4万
查看次数

标签 统计

asp.net-mvc-4 ×1

asp.net-web-api ×1

c# ×1