Heim >Backend-Entwicklung >C++ >Wie aktiviere ich CORS in der ASP.NET Core-Web-API?

Wie aktiviere ich CORS in der ASP.NET Core-Web-API?

Patricia Arquette
Patricia ArquetteOriginal
2025-01-24 18:21:14344Durchsuche

How to Enable CORS in ASP.NET Core Web API?

Konfigurieren von Cross-Origin Resource Sharing (CORS) in der ASP.NET Core-Web-API

Diese Anleitung zeigt zwei Ansätze zum Aktivieren von CORS in Ihrer ASP.NET Core-Web-API: die Verwendung von Middleware und eine manuelle Header-Injektionsmethode.

Methode 1: Middleware-basierte CORS-Konfiguration

Der einfachste und empfohlene Ansatz ist die Nutzung des Microsoft.AspNetCore.CorsNuGet-Pakets.

  1. Installieren Sie das Paket:

    <code>Install-Package Microsoft.AspNetCore.Cors</code>
  2. CORS-Dienste konfigurieren:

    Registrieren Sie in Ihrer Startup.cs Datei den CORS-Dienst:

    <code class="language-csharp">public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors();
        // ... other service configurations
    }</code>
  3. Verwenden Sie CORS Middleware:

    Verwenden Sie in der Configure-Methode die app.UseCors-Middleware, um zulässige Ursprünge und HTTP-Methoden zu definieren. Ersetzen Sie "http://example.com" durch Ihre tatsächlich zulässigen Herkunft(en).

    <code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... )
    {
        app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());
        // ... other middleware configurations
    }</code>

Methode 2: Manuelle Header-Injektion (Fallback-Methode)

Wenn sich der Middleware-Ansatz als unwirksam erweist, können Sie CORS-Header direkt zu Ihren HTTP-Antworten hinzufügen. Dies wird im Allgemeinen aufgrund der geringeren Wartbarkeit weniger bevorzugt.

<code class="language-csharp">app.Use(async (context, next) =>
{
    context.Response.Headers.Add("Access-Control-Allow-Origin", "http://example.com");
    context.Response.Headers.Add("Access-Control-Allow-Methods", "GET, POST, PUT, PATCH, DELETE");
    context.Response.Headers.Add("Access-Control-Allow-Headers", "X-PINGOTHER, Content-Type, Authorization");

    await next.Invoke();
});</code>

Denken Sie daran, diese Middleware vor app.UseRouting() oder einem gleichwertigen Middleware-Handling-Routing zu positionieren.

Wichtige Überlegungen:

  • *Wildcard Origins (`):** Avoid using the wildcard"*"forWithOrigins` in Produktionsumgebungen. Dadurch wird Ihre API für Anfragen von jedem Ursprung geöffnet, was ein erhebliches Sicherheitsrisiko darstellt.
  • Spezifische Header: Definieren Sie die zulässigen Header sorgfältig mit AddCustomHeader oder dem Äquivalent in der von Ihnen gewählten Methode. Geben Sie immer "Content-Type".
  • an
  • Erweiterte Konfigurationen: Für eine detailliertere Kontrolle erkunden Sie das CORS-Richtlinienmodell, das vom Paket Microsoft.AspNetCore.Cors angeboten wird. Dies ermöglicht benannte Richtlinien und komplexere Szenarien.

Diese erweiterte Anleitung bietet eine klarere Erklärung und eine verbesserte Struktur für die Implementierung von CORS in der ASP.NET Core-Web-API. Wählen Sie die Methode, die Ihren Anforderungen am besten entspricht, und priorisieren Sie bewährte Sicherheitspraktiken.

Das obige ist der detaillierte Inhalt vonWie aktiviere ich CORS in der ASP.NET Core-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn