首頁 >後端開發 >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 Core Web API中啟用COR的兩種方法:使用中間件和手動標頭注入方法。

>

方法1:基於中間件的CORS配置

最簡單和建議的方法是利用

Microsoft.AspNetCore.Cors

    安裝軟件包:
  1. <code>Install-Package Microsoft.AspNetCore.Cors</code>
    >配置CORS服務:
  2. >在您的

    文件中,註冊CORS服務:>

    Startup.cs使用CORS中間件:

    >
    <code class="language-csharp">public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors();
        // ... other service configurations
    }</code>
    >在
  3. >方法中,利用中間件來定義允許的起源和HTTP方法。 用您的實際允許來源替換
  4. >

    Configure方法2:手動標頭注入(後備方法)app.UseCors"http://example.com">

    如果中間件方法證明無效,則可以將CORS標頭直接添加到HTTP響應中。 由於可維護性降低,這通常不太優先。
    <code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... )
    {
        app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());
        // ... other middleware configurations
    }</code>
    >
記住在

>之前將此中間件定位。

重要的考慮因素:

<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()在生產環境中withorigins。這為您的API打開了從任何來源的請求,帶來了重大的安全風險。

>

特定的標頭:使用或在您選擇的方法中仔細定義允許的標頭。 始終包含

  • 高級配置:對於更顆粒狀的控制,請探索由):** Avoid using the wildcard> for
  • 該增強指南為在ASP.NET Core Web API中實現CORS提供了更清晰的解釋和改進的結構。 選擇最適合您需求並確定安全性最佳實踐的方法。
  • >

以上是如何在ASP.NET Core Web API中啟用CORS?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn