Maison >développement back-end >C++ >Comment activer CORS dans l'API Web ASP.NET Core ?
Ce guide présente deux approches pour activer CORS dans votre API Web ASP.NET Core : en utilisant un middleware et une méthode d'injection manuelle d'en-tête.
Méthode 1 : configuration CORS basée sur un middleware
L'approche la plus simple et recommandée consiste à exploiter le Microsoft.AspNetCore.Cors
package NuGet.
Installer le package :
<code>Install-Package Microsoft.AspNetCore.Cors</code>
Configurer les services CORS :
Dans votre fichier Startup.cs
, enregistrez le service CORS :
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); // ... other service configurations }</code>
Utiliser le middleware CORS :
Dans la méthode Configure
, utilisez le middleware app.UseCors
pour définir les origines autorisées et les méthodes HTTP. Remplacez "http://example.com"
par votre ou vos origines réellement autorisées.
<code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... ) { app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod()); // ... other middleware configurations }</code>
Méthode 2 : Injection manuelle d'en-tête (méthode de repli)
Si l'approche middleware s'avère inefficace, vous pouvez directement ajouter des en-têtes CORS à vos réponses HTTP. Ceci est généralement moins préféré en raison d’une maintenabilité réduite.
<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>
Pensez à positionner ce middleware avant app.UseRouting()
ou un middleware équivalent gérant le routage.
Considérations importantes :
):** Avoid using the wildcard
"*"for
WithOrigins` dans les environnements de production. Cela ouvre votre API aux requêtes de n'importe quelle origine, ce qui pose un risque de sécurité important.AddCustomHeader
ou l'équivalent dans la méthode choisie. Incluez toujours "Content-Type"
.Microsoft.AspNetCore.Cors
. Cela permet des politiques nommées et des scénarios plus complexes.Ce guide amélioré fournit une explication plus claire et une structure améliorée pour la mise en œuvre de CORS dans l'API Web ASP.NET Core. Choisissez la méthode qui correspond le mieux à vos besoins et priorisez les bonnes pratiques de sécurité.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!