Rumah > pembangunan bahagian belakang > C++ > Bagaimana untuk Mendayakan CORS dalam API Web Teras ASP.NET?

Bagaimana untuk Mendayakan CORS dalam API Web Teras ASP.NET?

Patricia Arquette
Lepaskan: 2025-01-24 18:21:14
asal
350 orang telah melayarinya

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

Mengkonfigurasi Perkongsian Sumber Rentas Asal (CORS) dalam API Web Teras ASP.NET

Panduan ini menunjukkan dua pendekatan untuk mendayakan CORS dalam API Web Teras ASP.NET anda: menggunakan perisian tengah dan kaedah suntikan pengepala manual.

Kaedah 1: Konfigurasi CORS Berdasarkan Perisian Tengah

Pendekatan paling mudah dan disyorkan ialah memanfaatkan Microsoft.AspNetCore.Cors pakej NuGet.

  1. Pasang Pakej:

    <code>Install-Package Microsoft.AspNetCore.Cors</code>
    Salin selepas log masuk
  2. Konfigurasikan Perkhidmatan CORS:

    Dalam fail Startup.cs anda, daftarkan perkhidmatan CORS:

    <code class="language-csharp">public void ConfigureServices(IServiceCollection services)
    {
        services.AddCors();
        // ... other service configurations
    }</code>
    Salin selepas log masuk
  3. Gunakan CORS Middleware:

    Dalam kaedah Configure, gunakan perisian tengah app.UseCors untuk mentakrifkan asal yang dibenarkan dan kaedah HTTP. Gantikan "http://example.com" dengan asal usul sebenar anda yang dibenarkan.

    <code class="language-csharp">public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ... )
    {
        app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());
        // ... other middleware configurations
    }</code>
    Salin selepas log masuk

Kaedah 2: Suntikan Pengepala Manual (Kaedah Fallback)

Jika pendekatan perisian tengah terbukti tidak berkesan, anda boleh terus menambah pengepala CORS pada respons HTTP anda. Ini biasanya kurang diutamakan kerana kebolehselenggaraan yang berkurangan.

<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>
Salin selepas log masuk

Ingat untuk meletakkan middleware ini sebelum app.UseRouting() atau penghalaan pengendalian middleware yang setara.

Pertimbangan Penting:

  • *Wildcard Origins (`):** Avoid using the wildcard"*"forWithOrigins` dalam persekitaran pengeluaran. Ini membuka API anda kepada permintaan daripada mana-mana asal, yang menimbulkan risiko keselamatan yang ketara.
  • Pengepala Khusus: Tentukan dengan teliti pengepala yang dibenarkan menggunakan AddCustomHeader atau yang setara dalam kaedah pilihan anda. Sentiasa sertakan "Content-Type".
  • Konfigurasi Terperinci: Untuk kawalan yang lebih terperinci, teroka model dasar CORS yang ditawarkan oleh pakej Microsoft.AspNetCore.Cors. Ini membenarkan dasar yang dinamakan dan senario yang lebih kompleks.

Panduan dipertingkat ini memberikan penjelasan yang lebih jelas dan struktur yang dipertingkatkan untuk melaksanakan CORS dalam API Web Teras ASP.NET. Pilih kaedah yang paling sesuai dengan keperluan anda dan utamakan amalan terbaik keselamatan.

Atas ialah kandungan terperinci Bagaimana untuk Mendayakan CORS dalam API Web Teras ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan