Saltar al contenido

Cómo habilitar CORS en ASP.NET Core

Hemos estado investigado en todo el mundo online y así de este modo traerte la respuesta a tu dilema, si tienes alguna pregunta deja tu pregunta y respondemos sin falta, porque estamos para ayudarte.

Solución:

Debe configurar una política de CORS al iniciar la aplicación en el ConfigureServices método:

public void ConfigureServices(IServiceCollection services)

    services.AddCors(o => o.AddPolicy("MyPolicy", builder =>
    
        builder.AllowAnyOrigin()
               .AllowAnyMethod()
               .AllowAnyHeader();
    ));

    // ...

los CorsPolicyBuilder en builder le permite configurar la política según sus necesidades. Ahora puede usar este nombre para aplicar la política a controladores y acciones:

[EnableCors("MyPolicy")]

O aplicarlo a cada solicitud:

public void Configure(IApplicationBuilder app)

    app.UseCors("MyPolicy");

    // ...

    // This should always be called last to ensure that
    // middleware is registered in the correct order.
    app.UseMvc();

Se aplica a .NET Core 1 y .Net Core 2 (más abajo)

si usa .Net-Core 1.1

Desafortunadamente, los documentos son muy confusos en este caso específico. Así que lo haré muy simple:

  • Agregar Microsoft.AspNetCore.Cors paquete nuget para su proyecto
  • En ConfigureServices método, añadir services.AddCors();
  • En Configure método, antes de llamar app.UseMvc() y app.UseStaticFiles()agregar:

    app.UseCors(builder => builder
        .AllowAnyOrigin()
        .AllowAnyMethod()
        .AllowAnyHeader()
        .AllowCredentials());
    

Eso es todo. Cada cliente tiene acceso a su sitio web/API de ASP.NET Core.


si usa .Net-Core 2.0

  • Agregar Microsoft.AspNetCore.Cors paquete nuget para su proyecto
  • en ConfigureServices método, antes de vocación services.AddMvc()agregar:

     services.AddCors(options =>
        
            options.AddPolicy("AllowAll",
                builder =>
                
                    builder
                    .AllowAnyOrigin() 
                    .AllowAnyMethod()
                    .AllowAnyHeader()
                    .AllowCredentials();
                );
        );
    
  • (Importante) En Configure método, antes de vocación app.UseMvc()agregar app.UseCors("AllowAll");

    AllowAll es el nombre de la política que debemos mencionar en app.UserCors. Podría ser cualquier nombre.

Según la respuesta de Henk, pude encontrar el dominio específico, el método que quiero permitir y también el encabezado para el que quiero habilitar CORS:

public void ConfigureServices(IServiceCollection services)

    services.AddCors(options =>
         options.AddPolicy("AllowSpecific", p => p.WithOrigins("http://localhost:1233")
                                                   .WithMethods("GET")
                                                   .WithHeaders("name")));
    services.AddMvc();

uso:

[EnableCors("AllowSpecific")]

Puedes reafirmar nuestro quehacer escribiendo un comentario y puntuándolo te estamos agradecidos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *