iT邦幫忙

1

ASP.NET Core 3.1 CORS 錯誤 [已解決]

  • 分享至 

  • xImage

各位大大,詢問一下,有人遇過CORS錯誤嗎?
我目前正在練習用SignalR,當網頁嘗試建立連線時,跑出這個錯誤,
按照微軟提供的教學,設置了一遍,但錯誤一樣存在...
[https://docs.microsoft.com/zh-tw/aspnet/core/security/cors?view=aspnetcore-3.1](在 ASP.NET Core 中啟用跨原始來源要求 (CORS))

 readonly string MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

public void ConfigureServices(IServiceCollection services)

services.AddCors(options =>
        {
            options.AddPolicy(name: MyAllowSpecificOrigins,
                              builder =>
                              {
                                  builder.WithOrigins("http://127.0.0.1:5000");
                              });
        });

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)

app.UseCors(MyAllowSpecificOrigins);

我分別新增了這兩部分
錯誤

Access to fetch at 'http://127.0.0.1:5000/MyHub/negotiate/negotiate?negotiateVersion=1' from origin 'http://localhost:5000' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
看更多先前的討論...收起先前的討論...
Homura iT邦高手 1 級 ‧ 2022-03-29 09:35:07 檢舉
錯誤是什麼?
andow1198 iT邦新手 4 級 ‧ 2022-03-29 09:43:08 檢舉
H大,你等一下,我補在文章
天黑 iT邦研究生 5 級 ‧ 2022-03-29 09:55:12 檢舉
請問前後端分開的? 沒有分開不用CORS
andow1198 iT邦新手 4 級 ‧ 2022-03-29 09:55:22 檢舉
天大,是分開的
w4560000 iT邦研究生 5 級 ‧ 2022-03-29 11:23:41 檢舉
127.0.0.1 改成 localhost 試試看
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 個回答

3
Homura
iT邦高手 1 級 ‧ 2022-03-29 09:53:47
最佳解答

看微軟範例需要一個規範名稱
然後再套用

services.AddCors("Policy1", options =>
        {
            options.AddDefaultPolicy(
                builder =>
                {
                    builder.WithOrigins("http://127.0.0.1:5000");
                });
        });
app.UseCors("Policy1");

你貼的程式碼我看沒有@@

andow1198 iT邦新手 4 級 ‧ 2022-03-29 10:03:45 檢舉

H大,拍謝,我眼花貼錯代碼了= =

Homura iT邦高手 1 級 ‧ 2022-03-29 10:16:55 檢舉
andow1198 iT邦新手 4 級 ‧ 2022-03-29 11:25:44 檢舉

謝謝H大,終於解出來了 QQ

1
科科
iT邦好手 8 級 ‧ 2022-03-29 10:15:44

加上 .AllowCredentials() 試試

services.AddCors(options =>
    {
       options.AddPolicy(name: MyAllowSpecificOrigins,
            builder =>
            {
                builder.WithOrigins("http://127.0.0.1:5000").AllowCredentials();
            });
    });
andow1198 iT邦新手 4 級 ‧ 2022-03-29 11:26:10 檢舉

謝科大支援

我要發表回答

立即登入回答