ASP.NET Core Web API の CORS を使用したクロスドメイン リクエストの問題の解決
Cross-Origin Resource Sharing (CORS) は、フロントエンド コンポーネントとバックエンド コンポーネントが別々にホストされている Web アプリケーションにとって重要です。 このガイドでは、特に Azure 無料プランに展開する場合の、ASP.NET Core Web API における一般的な CORS 構成の問題に対処します。
課題:
別のドメインでホストされているクライアント Web サイトで Web API にアクセスしようとすると、CORS 制限が発生しました。 Microsoft の標準ガイダンスでは、すべての API エンドポイントの問題を完全に解決できませんでした。
解決策: 合理化された CORS 構成
この解決策には、簡素化された CORS セットアップが含まれます。
必要なパッケージをインストールします: まず、CORS NuGet パッケージをインストールします:
<code class="language-bash">Install-Package Microsoft.AspNetCore.Cors</code>
Startup.cs
で CORS を構成します: ConfigureServices
メソッド内に CORS サービスを追加します:
<code class="language-csharp">public void ConfigureServices(IServiceCollection services) { services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1); }</code>
Configure
メソッドで CORS を有効にする: UseCors
ミドルウェアを使用して、Configure
メソッドで CORS を有効にします。 この例では、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>
重要な考慮事項:
"http://example.com"
を実際のクライアント ドメインに置き換えます。AllowAnyMethod()
は、すべての HTTP メソッドへのアクセスを許可します。 セキュリティを強化するには、許可されるメソッドを明示的に指定します。以上が特にAzure Free Planで、クロスドメインリクエスト用にASP.NETコアWeb APIでCORを有効にする方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。