ASP.Net WEB API请求标头字段预检响应中的Access-Control-Allow-Headers不允许授权

时间:2017-05-23 09:25:01

标签: c# asp.net asp.net-web-api cors

我编写了我的WEBAPI代码,以便向authinticated用户提供一些数据,我遇到了多方面的问题并且已经解决了。但是现在我遇到问题,当我试图获取authinticated用户chrome的数据列表给我这个错误

XMLHttpRequest无法加载http://192.168.10.95/KS.API.Client/api/Data。请求标头字段预检响应中的Access-Control-Allow-Headers不允许授权。

a这是我从纯HTML页面中调用WebApi方法的人

cocco ananas banana ciao miao

请打电话给我

2 个答案:

答案 0 :(得分:0)

在WebAPI中,您需要安装Microsoft.Owin.Cors包。 打开Nuget Package Console,输入此

Install-Package Microsoft.Owin.Cors 

安装添加引用后,您需要转到Startup.cs添加此行app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll); 进入配置功能 它看起来像这样

public void Configuration(IAppBuilder app)
        {
            HttpConfiguration config = new HttpConfiguration();

            ConfigureOAuth(app);

            WebApiConfig.Register(config);
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);
            app.UseWebApi(config);
        }

答案 1 :(得分:0)

将以下内容添加到Web API的web.config文件中以启用访问权限:

#> # A tibble: 3 x 4
#>   CNT                        SC156Q05HA percentage total_schools
#>   <chr+lbl>                  <fct>           <dbl>         <int>
#> 1 ALB [Albania]              Yes              71.1           325
#> 2 ALB [Albania]              No               28.9           325
#> 3 ARE [United Arab Emirates] Yes              81.5           692

这应该放置在web.config的system.webServer节点内。

请阅读官方文档,以正确使用和控制外部使用CORS的访问权限