Heim > Backend-Entwicklung > C++ > Wie implementiert man Cross-Origin Resource Sharing (CORS) in der ASP.NET Core-Web-API?

Wie implementiert man Cross-Origin Resource Sharing (CORS) in der ASP.NET Core-Web-API?

Linda Hamilton
Freigeben: 2025-01-24 18:42:13
Original
740 Leute haben es durchsucht

How to Implement Cross-Origin Resource Sharing (CORS) in ASP.NET Core Web API?

ASP.NET CORE -Web -API Ermöglicht CORs: Complete Guide

cors ist ein Mechanismus, mit dem der Webbrowser Cross -Tource -HTTP -Anforderungen durchführen kann, normalerweise für verschiedene Domänen aus der aktuellen Quelle des Browsers. Die Erleuchtung von CORs ist von entscheidender Bedeutung, um sicherzustellen, dass die nahtlose Kommunikation zwischen den Back -End -Anwendungen und dem Hosting auf der Back -End -Web -API über verschiedene Domänen oder Ports unerlässlich ist.

cors

Die bevorzugte Methode zum Aktivieren von CORs im ASP.NET -Kern erfolgt über die Datei startup.cs. Fügen Sie in der Methode configureServices die folgenden Zeilen hinzu, um ein CORS -Paket zu installieren und den CORS -Dienst zu konfigurieren:

Konfigurieren Sie als nächstes in der Methode Konfiguration die CORS Middleware, bevor Sie app.usemvc ():

aufrufen:
<code class="language-csharp">services.AddCors();
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);</code>
Nach dem Login kopieren

Dies ermöglicht die Quelle aus der angegebenen Quelle (in diesem Beispiel "
<code class="language-csharp">app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());</code>
Nach dem Login kopieren
https://www.php.cn/link/63e6bc520edcba95446b5690d989f30

HTTP -Methode. Die globale Konfiguration cors

Wenn Sie CORs für alle Controller und Vorgänge verwenden möchten, können Sie die Eigenschaft [EnableCors] zur Datei startup.cs hinzufügen:

Sie können MyPolicy in ConfiguresServices definieren:

<code class="language-csharp">[assembly: EnableCors(typeof(MyPolicy))]</code>
Nach dem Login kopieren
Dies ermöglicht CORs für alle Controller und Vorgänge ohne separate Controller oder Betriebsebene.

Fügen Sie den benutzerdefinierten Header
<code class="language-csharp">services.AddCors(options =>
{
    options.AddPolicy("MyPolicy",
        policy => policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader());
});</code>
Nach dem Login kopieren

hinzu

Wenn Sie einen anderen benutzerdefinierten Header in der CORS -Konfiguration angeben müssen, können Sie das Optionsobjekt in der App.Secors -Anweisung:

ändern:

Dies fügt der Liste der zulässigen Köpfe X-My-Custom-Header hinzu.

Die obligatorische Methode mit manuellem Header
<code class="language-csharp">app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()
    .WithExposedHeaders("X-My-Custom-Header"));</code>
Nach dem Login kopieren

hinzugefügt

Als alternative Methode unter Verwendung von CORS CORS Middleware können Sie die Middleware verwenden, um den erforderlichen Header jeder Antwort manuell hinzuzufügen. Diese Methode wird nicht empfohlen, kann jedoch in einigen Fällen nützlich sein, insbesondere bei der Verwendung des autorisierten Headers.

Dieser mittlere Teil fügt allen Antworten den angegebenen Header hinzu, um CORs für alle Anfragen effektiv zu aktivieren.

Schlussfolgerung

<code class="language-csharp">app.Use(async (context, next) =>
{
    context.Response.Headers.Add("Access-Control-Allow-Origin", "*");
    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();
});</code>
Nach dem Login kopieren

Gemäß Ihren spezifischen Anforderungen können CORs in ASP.NET CORE über mehrere Methoden aktiviert werden. Gemäß den in diesem Leitfaden bezeichneten Schritten können Sie sicherstellen, dass die nahtlose Kreuzung zwischen der Frontanwendung und der hinteren Web -API Cross -Domain -Teilen von Daten und Funktionen ermöglicht.

Das obige ist der detaillierte Inhalt vonWie implementiert man Cross-Origin Resource Sharing (CORS) in der ASP.NET Core-Web-API?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage