不确定我做错了什么,但是我试图在我的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起源但仍然没有好结果。
有什么想法吗?提前谢谢。