Résolution des problèmes de demande inter-domaine avec CORS dans ASP.NET Core Web API
Le partage de ressources croisées (CORS) est crucial pour les applications Web avec des composants frontaux et back-end hébergés séparément. Ce guide aborde un problème de configuration CORS commun dans ASP.NET Core Web API, en particulier lors du déploiement du plan gratuit Azure.
Le défi:
Un site Web client hébergé sur un domaine différent a expérimenté des restrictions CORS lors de la tentative d'accéder à une API Web. Les conseils standard de Microsoft n'ont pas entièrement résolu le problème pour tous les points de terminaison de l'API.
La solution: une configuration CORS rationalisée
La solution implique une configuration CORS simplifiée:
Installez le package nécessaire: Commencez par installer le package CORS NUGET:
<code class="language-bash">Install-Package Microsoft.AspNetCore.Cors</code>
Configurer CORS dans Startup.cs
: Ajouter le service CORS dans la méthode ConfigureServices
:
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }</code>
Activer les COR dans la méthode Configure
: Utilisez le middleware UseCors
pour activer les COR dans la méthode Configure
. Cet exemple permet aux demandes de 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>
Considérations importantes:
"http://example.com"
par votre domaine client réel. AllowAnyMethod()
accorde l'accès à toutes les méthodes HTTP. Pour une sécurité améliorée, spécifiez explicitement les méthodes autorisées. 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!