netcore3.0配置跨域


netcore3.0框架已集成了Microsoft.AspNetCore.Mvc.Cors包,因此不需要單獨引用。

ConfigureServices中添加Cors策略服務

services.AddCors(options =>
{
    options.AddPolicy("AllowAllOrigins",
        builder => builder.AllowAnyOrigin().AllowAnyHeader().AllowAnyMethod().AllowCredentials());
});

在Configure中添加到中間件中

  app.UseCors("AllowAllOrigins");

【注:策略名可以任意自定義,但是前后必須對應,當然可以設置多個策略;注意中間件放置的位置,在app.UseRouting()和app.UseEndPoints()之間】

》》》你以為這樣就結束了嗎?運行起來發現報錯了:

 

原因是新版的Cors中間件已經阻止使用允許任意Origin,也就是說即使你配置了AllowAllOrigin()也不會生效。解決辦法是使用WithOrigins進行設置:

【注:URL地址最后不能添加'/',如果以'/'終止,比較將返回false並且不返回任何標頭】

builder.AllowAnyHeader().AllowAnyMethod().AllowCredentials().WithOrigins(new []{"http://localhost:5000"});


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM