asp.net core 跨域配置不起作用的原因

1、中间件配置跨域的顺序不对

中间件顺序配置对了基本上就能解决大部分问题中间件顺序配置对了基本上就能解决大部分问题

附上官网简单的启用跨域的代码

csharp 复制代码
var  MyAllowSpecificOrigins = "_myAllowSpecificOrigins";

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddCors(options =>
{
    options.AddPolicy(name: MyAllowSpecificOrigins,
                      policy  =>
                      {
                          policy.WithOrigins("http://example.com",
                                              "http://www.contoso.com");
                      });
});

// services.AddResponseCaching();

builder.Services.AddControllers();

var app = builder.Build();
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseRouting();

app.UseCors(MyAllowSpecificOrigins);

app.UseAuthorization();

app.MapControllers();

app.Run();

2、中间件启用的跨域同时又用了属性启用跨域

自己碰到的问题,复制官网的demo测试很多遍还是不能跨域,最后发现问题出在基类控制器启用了跨域,但是策略名和中间件启用跨域的策略名的不一致,导致跨域没用...

csharp 复制代码
[EnableCors("any")] //删除这行即可或者策略名改成和中间件一样 _myAllowSpecificOrigins
[Route("api/[controller]/[action]")]
[Authorize]
[ApiController]
public class BaseApiController : ControllerBase
{

}
相关推荐
115432031q2 分钟前
基于SpringBoot+Vue实现的旅游景点预约平台功能十三
java·前端·后端
Java门外汉13 分钟前
在SpringBoot中,@GetMapper和@RequestMapping有什么区别?
后端
vocal14 分钟前
谷歌第七版Prompt Engineering—第二部分
人工智能·后端
Hellohistory16 分钟前
HOTP 算法与实现解析
后端·python
半个脑袋儿17 分钟前
Java日期格式化中的“YYYY”陷阱:为什么跨年周会让你的年份突然+1?
java·后端
杰瑞达Bob19 分钟前
day1 继承、权限修饰符、重写、抽象
后端
四毛打印店23 分钟前
使用kubernetes部署jetlinks社区版
后端
Moment26 分钟前
通过爬取 B 站热门视频来带你彻底了解 Playwright 🤷🏿‍♂️🤷🏿‍♂️🤷🏿‍♂️
前端·javascript·后端
shark_chili28 分钟前
来聊聊MySQL事务隔离与MVCC的关系
后端
这里有鱼汤1 小时前
写Python被嘲笑是“调库侠”,真的很可耻吗?
后端·python