ホームページ >バックエンド開発 >C++ >ASP.NET Core Web APIでCORSを有効にする方法?

ASP.NET Core Web APIでCORSを有効にする方法?

Patricia Arquette
Patricia Arquetteオリジナル
2025-01-24 18:21:14344ブラウズ

How to Enable CORS in ASP.NET Core Web API?

ASP.NET Core Web APIでのクロスオリジンリソース共有(CORS)の構成

このガイドは、ASP.NETコアWeb APIでCORを有効にする2つのアプローチを示しています。ミドルウェアと手動ヘッダーインジェクションメソッドを使用してください。

メソッド1:ミドルウェアベースのCORS構成

最も単純で推奨されるアプローチは、

nugetパッケージを活用することです。

Microsoft.AspNetCore.Cors

    パッケージをインストールします:
  1. <code>Install-Package Microsoft.AspNetCore.Cors</code>
  2. CORSサービスの構成:
  3. ファイル内で、CORSサービスを登録してください:

    Startup.cs

    <code class="language-csharp">public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors();
        // ... other service configurations
    }</code>
  4. CORSミドルウェアを使用:
  5. メソッドでは、ミドルウェアを使用して、許可されたオリジンとhttpメソッドを定義します。

    を実際の許可された原点に置き換えます。

    Configure app.UseCors "http://example.com"

    <code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... )
    {
        app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());
        // ... other middleware configurations
    }</code>
    メソッド2:手動ヘッダーインジェクション(フォールバック方法)

ミドルウェアアプローチが効果的でないことが判明した場合、HTTP応答にCORSヘッダーを直接追加できます。 これは、保守性が低下するため、一般にあまり好まれません。

このミドルウェアを

または同等のミドルウェア処理ルーティングの前に配置することを忘れないでください。
<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>

重要な考慮事項: app.UseRouting()

*

ワイルドカードオリジン( ` "*"

生産環境におけるwutorigins`。
  • 具体的なヘッダー:選択したメソッドのまたは同等物を使用して許可されたヘッダーを慎重に定義します。 必ず):** Avoid using the wildcardforを含めてください
  • 高度な構成:詳細な制御については、パッケージで提供されるCORSポリシーモデルを調べてください。 これにより、指定されたポリシーとより複雑なシナリオが可能になります AddCustomHeader "Content-Type"この拡張ガイドは、ASP.NETコアWeb APIにCORを実装するためのより明確な説明と改善された構造を提供します。 ニーズに最適な方法を選択し、セキュリティベストプラクティスに優先順位を付けます。

以上がASP.NET Core Web APIでCORSを有効にする方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。