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
{

}
相关推荐
Asthenia041215 分钟前
像整理玩具一样:DFA 化简和状态等价性
后端
Asthenia041229 分钟前
编译原理:打包思维-NFA 怎么变成 DFA
后端
非ban必选33 分钟前
spring-ai-alibaba第五章阿里dashscope集成mcp远程天气查询tools
java·后端·spring
Asthenia04121 小时前
从直觉到严谨:编译原理中的非确定有限自动机(NFA)
后端
snowfoootball1 小时前
基于 Ollama DeepSeek、Dify RAG 和 Fay 框架的高考咨询 AI 交互系统项目方案
前端·人工智能·后端·python·深度学习·高考
Asthenia04121 小时前
从入门到精通:编译原理中的确定有限自动机(DFA)
后端
Asthenia04121 小时前
深入浅出:编译原理中的正规式与正规集
后端
Asthenia04122 小时前
从零开始:Dockerfile 编写与 Spring Cloud 项目部署到 Docker Compose
后端
Asthenia04123 小时前
准备面试:Jenkins部署SpringCloudAlibaba微服务商城全攻略
后端
woniu_maggie3 小时前
SAP EXCEL DOI 详解
开发语言·后端·excel