[[oktatas:programozás:csharp:dotnetcore:web_api|< .Web API]] ====== Cross-origin kérés ====== * **Szerző:** Sallai András * Copyright (c) 2024, Sallai András * Szerkesztve: 2024 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Engedélyezés ===== A Program.cs fájlban vegyük fel a Cors beállításokhoz szükséges sorokat: //... var origin = "*"; builder.Services.AddCors(options => { options.AddPolicy(name: origin, policy => { policy .AllowAnyMethod() .AllowAnyHeader() .WithOrigins("http://localhost:4200"); }); }); //... app.UseCors(origin); Engedélyeztük bármilyen metódus és fejrész használatát, és elérést a localhost:4200 portról, ami jellemzően Angular alkalmazás. Ha más szerverről kell elérni a Backend programunkat, akkor javítsuk. ===== Teljes Program.cs ===== using Microsoft.EntityFrameworkCore; using jarmu; var builder = WebApplication.CreateBuilder(args); // Add services to the container. builder.Services.AddControllers(); // Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle builder.Services.AddEndpointsApiExplorer(); builder.Services.AddSwaggerGen(); //Adatbázis builder.Services.AddDbContext(options => { var connectionString = builder.Configuration.GetConnectionString("Mariadb"); options.UseMySql(connectionString, ServerVersion.AutoDetect(connectionString)); }); var origin = "*"; builder.Services.AddCors(options => { options.AddPolicy(name: origin, policy => { policy .AllowAnyMethod() .AllowAnyHeader() .WithOrigins("http://localhost:4200"); }); }); var app = builder.Build(); // Configure the HTTP request pipeline. if (app.Environment.IsDevelopment()) { app.UseSwagger(); app.UseSwaggerUI(); } app.UseHttpsRedirection(); app.UseCors(origin); app.UseAuthorization(); app.MapControllers(); app.Run(); ===== Linkek ===== * https://learn.microsoft.com/en-us/aspnet/core/security/cors?view=aspnetcore-8.0 (2024)