Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mendayakan 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.
Pasang Pakej:
<code>Install-Package Microsoft.AspNetCore.Cors</code>
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>
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>
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>
Ingat untuk meletakkan middleware ini sebelum app.UseRouting()
atau penghalaan pengendalian middleware yang setara.
Pertimbangan Penting:
):** Avoid using the wildcard
"*"for
WithOrigins` dalam persekitaran pengeluaran. Ini membuka API anda kepada permintaan daripada mana-mana asal, yang menimbulkan risiko keselamatan yang ketara.AddCustomHeader
atau yang setara dalam kaedah pilihan anda. Sentiasa sertakan "Content-Type"
.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!