当前位置: 首页 > article >正文

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

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

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

image

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

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测试很多遍还是不能跨域,最后发现问题出在基类控制器启用了跨域,但是策略名和中间件启用跨域的策略名的不一致,导致跨域没用…

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

}

http://www.kler.cn/a/372571.html

相关文章:

  • 二十二、MySQL 8.0 主从复制原理分析与实战
  • 【Searxng】Searxng docker 安装
  • ClickHouse 3节点集群安装
  • 【C++】—— priority_queue :平衡效率与秩序的算法利器
  • Linux下使用C/C++进行UDP网络编程
  • 力扣hot100-->递归/回溯
  • 【Java多线程】9 Java 的并发性能优化
  • 如何将钉钉付款单数据集成到MySQL数据库
  • Kafka 客户端工具使用分享【offsetexplorer】
  • Resnet搭建介绍及代码撰写详解(总结6)
  • Java Condition 目录
  • 如何在Linux系统中使用Zabbix进行监控
  • CentOS 9 Stream 上安装 JDK 17
  • day04|计算机网络重难点之HTTP/1.0和HTTP/1.1的区别、HTTP/2.0与HTTP/1.1的区别、介绍HTTP/3.0
  • 【C++刷题】力扣-#575-分糖果
  • K8s企业应用之容器化迁移
  • QStringList 使用详解
  • stm32的boot引脚接线
  • 样本不均衡-研究现状
  • 005 IP地址的分类
  • Consul微服务配置中心部署(在线安装)
  • 【SpringCloud】06-Sentinel
  • KVM 虚拟机Anolis OS 8.9 下利用宝塔面板中的 Docker 配置 Nextcloud + onlyoffice
  • BSV区块链为供应链管理带来效率革命
  • Python爬虫——网站基本信息
  • shell函数详解