无法正确设置Cors

时间:2018-06-13 15:50:43

标签: cors asp.net-web-api2

不确定我做错了什么,但是我试图在我的Web Api 2项目中配置Cors来指定起源参数,我仍然可以通过Postman和SoapUI访问这些方法。

这是我的 Global.asax.cs

    protected void Application_Start()
    {
        AreaRegistration.RegisterAllAreas();
        GlobalConfiguration.Configure(WebApiConfig.Register);
        FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
        RouteConfig.RegisterRoutes(RouteTable.Routes);
        BundleConfig.RegisterBundles(BundleTable.Bundles);

        GlobalConfiguration.Configuration.Services.Replace(
            typeof(System.Web.Http.Dispatcher.IHttpControllerActivator),
            new WindsorControllerActivator(this.container));

        GlobalConfiguration.Configuration.Services.Add(typeof(IExceptionLogger), new DePrimeraExceptionLogger());
    }

我的 WebApiConfig.cs

    public static void Register(HttpConfiguration config)
    {
        // Web API configuration and services
        var cors =
            new EnableCorsAttribute(
                "https://mundial.flika.io,https://prode.juguemosenequipo.com.ar,http://localhost:61937",
                "*",
                "*");

        config.EnableCors(cors);

        // Web API routes
        config.MapHttpAttributeRoutes();

        config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
        );
    }

在我的 web.config

<system.webServer>
 <handlers>
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <remove name="OPTIONSVerbHandler" />
  <remove name="TRACEVerbHandler" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
 </handlers>
</system.webServer>

在web.config中没有设置customHeaders。

我在互联网上尝试了一切,来自StackOverflow的所有问题,我仍然可以从不同的来源向WebApi发送请求并使用Postman和SoapUI,在我应该失败的情况下成功获得结果

我也尝试在控制器级别配置Cors起源但仍然没有好结果。

有什么想法吗?提前谢谢。

0 个答案:

没有答案