首頁 > 後端開發 > C++ > 如何在ASP.NET Core Web API中啟用CORS?

如何在ASP.NET Core Web API中啟用CORS?

Patricia Arquette
發布: 2025-01-24 18:21:14
原創
424 人瀏覽過

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中間件:

    >
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors();
        // ... other service configurations
    }
    登入後複製
    >在
  3. >方法中,利用中間件來定義允許的起源和HTTP方法。 用您的實際允許來源替換
  4. >

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

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

<>>之前將此中間件定位。

重要的考慮因素:

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();
});
登入後複製
*

>通配符起源(“*” 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
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板