CORS要求をいくつかの特定の起点に限定しようとしていますが、サービスは依然として指定したものだけでなくすべての起点に対する要求を処理しています。それら。Web API 2 CORS属性はCORS要求を制限していません
using System.Web.Http;
using System.Web.Http.Cors;
using System.Web.Http.OData.Builder;
using System.Web.Http.OData.Extensions;
using TCApiOdata.Models;
namespace TCApiOdata
{
public static class WebApiConfig
{
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
//Entities here, no issues, they work fine.
config.Routes.MapODataServiceRoute("odata", "odata", builder.GetEdmModel());
// Web API routes
var cors = new EnableCorsAttribute("http://www.domain1.com,http://www.domain2.com", "*", "get", "DataServiceVersion, MaxDataServiceVersion");
config.EnableCors(cors);
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
}
}
は私が間違って何をやっていることは、私が指定したもの以外の他の起源からの要求を許可され、次のよう
WebApiConfig.csファイルはありますか?また、コントローラやアクションにはデコレーションがないことにも注意してください。グローバルスコープのみです。