ASP.NET Core 跨域請求 (Cross-Origin Requests)
什麼是CORS?
CORS:Cross Origin Resource Sharing,跨來源資源共用
瀏覽器安全性可防止網頁對不同的網域服務之 web 網頁提出要求。
這項限制稱為同源原則。 同源原則會防止惡意網站從另一個網站讀取敏感性資料。
當我們專案使用前後端分離時,放在不同網域執行,就會遇到瀏覽器安全性的問題,
A Domain 呼叫了 B Domain 的跨域請求 Cross-Origin Requests (CORS),瀏覽器基於安全性考量,並不允許這種情況發生
註冊 Policy
在 ASP.NET Core 中使用 CORS,需要 Microsoft.AspNetCore.Cors 套件
ASP.NET Core 中使用 CORS 只要在 Startup.ConfigureServices 呼叫 AddCors,就能註冊 CORS 的 Policy 規則
Startup.cs
AllowAnyOrigin() 是允許來自任何配置的所有原始網域
也可以使用 WithOrigins()
把信任的網域清單放到appsetting.Json裡面
全域套用
Startup.cs
使用appsetting.Json來調整是否開啟CORS
區域套用
可以在 Controller 或 Action 掛上 [EnableCors("Policy 名稱")],套用 Policy 到 Controller 或 Action 上。
方法二
修改 Chrome 瀏覽器安全性設定,解決網頁開發階段 Access-Control-Allow-Origin 問題。
直接修改桌面上的 Google Chrome
瀏覽器的捷徑,把這裡新增的參數貼上去。
這方法只適合開發階段使用