一起使用UseCors和EnableCors

时间:2018-07-27 07:14:39

标签: asp.net-core-2.0

当我想限制所有控制器的跨域请求时,我有ASP.NET Core 2.1 WebAPI应用程序,但应该允许所有此类请求的控制器除外。

什么是最好的方法?

我试图在Startup中为UseCors定义“受限”策略,并为EnableCors定义“ allow-all”策略,但这似乎不起作用。

这是我的设置:

Startup.ConfigureServices:

services.AddCors(options =>  {
    options.AddPolicy("RestrictedAccess",
        builder => builder
           .WithMethods("GET", "POST")
           .WithOrigins("mydomain1.com", "mydomain2.com")
           .AllowAnyHeader());

    options.AddPolicy("AllowAny",
        builder => builder
           .AllowAnyOrigin()
           .AllowAnyOrigin()
           .AllowAnyHeader());
});

启动。配置:

.   .   .   .  
app.UseCors("RestrictedAccess");
app.UseMvc();

我的控制器:

[EnableCors("AllowAny")]
public class PublicController : ControllerBase {
.   .   .   .   .   .

它应该工作还是我需要在Startup内部使用MapWhen。是否要为不同的端点指定不同的CORS策略?

0 个答案:

没有答案