Lösen von domänenübergreifenden Anforderungsproblemen mit CORS in der ASP.NET Core-Web-API
Cross-Origin Resource Sharing (CORS) ist für Webanwendungen mit separat gehosteten Front-End- und Back-End-Komponenten von entscheidender Bedeutung. Dieses Handbuch befasst sich mit einem häufigen CORS-Konfigurationsproblem in ASP.NET Core-Web-APIs, insbesondere bei der Bereitstellung im Azure Free Plan.
Die Herausforderung:
Auf einer Client-Website, die auf einer anderen Domain gehostet wurde, kam es beim Versuch, auf eine Web-API zuzugreifen, zu CORS-Einschränkungen. Die standardmäßige Anleitung von Microsoft konnte das Problem nicht für alle API-Endpunkte vollständig lösen.
Die Lösung: Eine optimierte CORS-Konfiguration
Die Lösung beinhaltet ein vereinfachtes CORS-Setup:
Installieren Sie das erforderliche Paket: Beginnen Sie mit der Installation des CORS NuGet-Pakets:
<code class="language-bash">Install-Package Microsoft.AspNetCore.Cors</code>
Konfigurieren Sie CORS in Startup.cs
: Fügen Sie den CORS-Dienst innerhalb der ConfigureServices
-Methode hinzu:
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }</code>
CORS in der Configure
-Methode aktivieren: Verwenden Sie die UseCors
-Middleware, um CORS in der Configure
-Methode zu aktivieren. Dieses Beispiel ermöglicht Anfragen von http://example.com
:
<code class="language-csharp">public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod()); app.UseMvc(); }</code>
Wichtige Überlegungen:
"http://example.com"
durch Ihre tatsächliche Kundendomäne.AllowAnyMethod()
gewährt Zugriff auf alle HTTP-Methoden. Geben Sie für erhöhte Sicherheit explizit zulässige Methoden an.Das obige ist der detaillierte Inhalt vonWie aktiviere ich CORS in der ASP.NET Core-Web-API für domänenübergreifende Anforderungen, insbesondere im kostenlosen Azure-Plan?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!