Rumah >pembangunan bahagian belakang >C++ >Bagaimana Melaksanakan Perkongsian Sumber Sumber Cross-Origin (CORS) di API Web Core ASP.NET?
Mendayakan CORS dalam API Web Teras ASP.NET: Panduan Lengkap
Cross-Origin Resource Sharing (CORS) ialah mekanisme yang membenarkan penyemak imbas web membuat permintaan HTTP silang asal, biasanya ke domain yang berbeza daripada asal semasa penyemak imbas. Mendayakan CORS adalah penting untuk memastikan komunikasi lancar antara aplikasi bahagian hadapan dan API web hujung belakang yang dihoskan pada domain atau port yang berbeza.
Dayakan CORS dalam Startup.cs
Cara pilihan untuk mendayakan CORS dalam ASP.NET Core adalah melalui fail Startup.cs. Dalam kaedah ConfigureServices, tambahkan baris berikut untuk memasang pakej CORS dan konfigurasikan perkhidmatan CORS:
<code class="language-csharp">services.AddCors(); services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);</code>
Seterusnya, dalam kaedah Konfigurasi, konfigurasikan perisian tengah CORS sebelum memanggil apl.UseMvc():
<code class="language-csharp">app.UseCors(options => options.WithOrigins("http://example.com").AllowAnyMethod());</code>
Ini akan membenarkan kaedah HTTP daripada sumber yang ditentukan (dalam kes ini "https://www.php.cn/link/63e6bc520edcbaa95446b5690d989f30
CORS konfigurasi global
Jika anda ingin mendayakan CORS secara global untuk semua pengawal dan tindakan, anda boleh menambah atribut [EnableCors] pada fail Startup.cs:
<code class="language-csharp">[assembly: EnableCors(typeof(MyPolicy))]</code>MyPolicy boleh ditakrifkan dalam ConfigureServices:
<code class="language-csharp">services.AddCors(options => { options.AddPolicy("MyPolicy", policy => policy.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); });</code>Ini akan membolehkan CORS untuk semua pengawal dan tindakan, tiada pengawal berasingan atau konfigurasi tahap tindakan diperlukan.
Tambahkan pengepala tersuai
Jika anda perlu menentukan pengepala tersuai lain dalam konfigurasi CORS, anda boleh mengubah suai objek pilihan dalam apl.UseCors pernyataan:
<code class="language-csharp">app.UseCors(options => options.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader() .WithExposedHeaders("X-My-Custom-Header"));</code>Ini akan menambah X-My-Custom-Header pada senarai pengepala yang dibenarkan untuk didedahkan kepada umum.
Kaedah paksa menggunakan penambahan pengepala manual
Sebagai alternatif kepada menggunakan perisian tengah CORS terbina dalam, anda boleh menggunakan perisian tengah untuk menambah pengepala yang diperlukan secara manual pada setiap respons. Kaedah ini kurang disyorkan, tetapi boleh berguna dalam sesetengah situasi, terutamanya apabila menggunakan pengepala kebenaran.
<code class="language-csharp">app.Use(async (context, next) => { context.Response.Headers.Add("Access-Control-Allow-Origin", "*"); 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(); });</code>Perisian tengah ini akan menambah pengepala yang ditentukan pada semua respons, dengan berkesan membolehkan CORS untuk semua permintaan.
Kesimpulan
Terdapat beberapa cara untuk mendayakan CORS dalam Teras ASP.NET, bergantung pada keperluan khusus anda. Dengan mengikut langkah-langkah yang digariskan dalam panduan ini, anda boleh memastikan komunikasi merentas asal yang lancar antara aplikasi bahagian hadapan dan API web bahagian belakang, yang membolehkan data dan fungsi dikongsi merentas domain.Atas ialah kandungan terperinci Bagaimana Melaksanakan Perkongsian Sumber Sumber Cross-Origin (CORS) di API Web Core ASP.NET?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!