![](/img/trans.png)
[英]How to add action to controller in api mvc project net core 3.1
[英]How to remove CORS restriction for one Controller Action in .net core 3.1
如何刪除一個控制器操作的 CORS 限制
我已經在一個地方為所有控制器/所有操作的應用程序之一實施了 CORS。 但不知道如何僅針對單個控制器取消此限制
我在另一個地方的代碼是
public static IWebHostBuilder BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args).
ConfigureKestrel(serverOptions =>
{
}).UseIISIntegration()
.UseStartup<StartupShutdownHandler>();
private const string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";
public StartupShutdownHandler(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllers();
CorsRelatedPolicyAddition(services);
services.Configure<ForwardedHeadersOptions>(options =>
{
options.ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto;
}); }
private void CorsRelatedPolicyAddition(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(MyAllowSpecificOrigins, builder => { builder.AllowedAnyOrigins().AllowAnyMethod().AllowAnyHeader(); });
});
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, IHostApplicationLifetime applicationLifetime)
{...
app.UseCors(MyAllowSpecificOrigins);
..
}
對於整個控制器(其中的所有方法)
[EnableCors(origins: "http://www.example.com", headers: "*", methods: "*")]
public class TestController : ApiController
{
// Controller methods not shown...
}
僅針對特定方法
[EnableCors(origins: "http://www.example.com", headers: "*", methods: "*")]
public HttpResponseMessage GetItem(int id) { ... }
有關更多詳細信息,請參閱此鏈接
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.