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
{

}
相关推荐
IT_陈寒3 小时前
为什么你应该学习JavaScript?
前端·人工智能·后端
淇奥74 小时前
【MyBatis-Plus】MyBatis-Plus 学习笔记
后端
_code_bear_4 小时前
OpenSpec CLI 与 OPSX 工作流说明
前端·后端·架构
用户8356290780514 小时前
使用 Python 在 PowerPoint 中添加并控制音频播放
后端·python
用户8356290780514 小时前
使用 Python 在 PowerPoint 中生成并自定义饼图与环形图
后端·python
念何架构之路4 小时前
Go语言常见并发模式
开发语言·后端·golang
祀爱4 小时前
Asp.net core+ Layui 项目中编辑按钮传递数据的方法
前端·c#·asp.net·layui
Cosolar4 小时前
大模型应用开发面试 • 第4期|A2A、复杂挑战与具身智能
人工智能·后端·面试
迷渡5 小时前
聊一聊 Bun 用 Rust 重写这件事
开发语言·后端·rust
王中阳Go5 小时前
秒杀、分库分表、全链路追踪:一个电商微服务的架构全拆解
后端·go