Simplification de la configuration CORS dans l'API Web ASP.NET Core
Les requêtes cross-site peuvent présenter des risques de sécurité, en particulier lors de l'accès à des ressources dans un domaine différent de celui dans lequel la ressource a été demandée. CORS (Cross-Origin Resource Sharing) est un mécanisme important qui atténue ces risques en permettant aux requêtes authentifiées d'accéder à des ressources d'origines disparates tout en préservant l'intégrité des données.
Dans ASP.NET Core, l'activation de CORS est essentielle pour permettre aux applications clientes de consommer votre WebAPI à partir de différents domaines. L'erreur que vous obtenez indique que, malgré le respect des recommandations de Microsoft, CORS n'est pas implémenté correctement.
La solution réside dans la simplification de votre approche. Envisagez d'utiliser l'implémentation CORS de base suivante au lieu d'utiliser une configuration basée sur des politiques plus complexe :
Configurer le service CORS
Dans la méthode ConfigureServices
de la classe de démarrage (Startup.cs), ajoutez le service CORS :
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); // 在AddMvc之前 services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }</code>
Appliquer le middleware CORS
Dans la méthode Configure
, appliquez le middleware CORS avant d'enregistrer MVC :
<code class="language-csharp">public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { // 在app.UseMvc()之前 app.UseCors( options => options.WithOrigins("http://example.com").AllowAnyMethod() ); app.UseMvc(); }</code>
Cette approche simplifiée fournit un niveau de base de protection CORS, autorisant les requêtes provenant de domaines spécifiques (https://www.php.cn/link/efe7beaa44d6e14c30432d43b2522ba2.
N'oubliez pas que même si l'activation de CORS est essentielle pour autoriser les requêtes d'origine croisée, il est important de maintenir des mesures de sécurité appropriées pour éviter d'éventuelles fuites de donné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!