首页 > 编程语言 >asp.net core 跨域配置不起作用的原因

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

时间:2024-10-17 09:21:14浏览次数:7  
标签:MyAllowSpecificOrigins core asp 跨域 启用 app 中间件 builder

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
{

}

标签:MyAllowSpecificOrigins,core,asp,跨域,启用,app,中间件,builder
From: https://www.cnblogs.com/dx5800/p/18470063

相关文章

  • orchard core 2.02 的模块 学习1 实践:创建阿里云sms模块
    1、手动创建2、命令行从模板创建手动创建就是复制一个官方的任意模块。这个不细说。2、我是从命令行创建的。首先要安装orchardcore的模板dotnetnewinstallOrchardCore.ProjectTemplates::2.0.2参考:https://docs.orchardcore.net/en/latest/getting-started/templates......
  • CorelDRAW (CDR) 25.2.0.301最新破解版安装包下载
    CorelDRAWGraphicsSuite简称cdr,是一款备受关注的矢量制图及设计软件,这次重大更新不仅是CorelDRAW在36年创新历史中的又一重要里程碑,也展示了其在设计软件领域持续创新和卓越性能的领导地位。作为全球历史最悠久且功能最为强大的图形与图像编辑软件之一,CorelDRAW以其专业......
  • Idea序列图插件-SequenceDiagram Core
    简介SequenceDiagramCore是一个IntelliJIDEA插件,它允许开发者直接在IDE中创建和编辑序列图(SequenceDiagrams)。序列图是UML(统一建模语言)中的一种图表类型,用于描述对象之间如何交互以及这些交互的顺序。这种类型的图表对于理解复杂的系统流程、设计模式或者组件之间......
  • 使用宝塔面板一键部署.NET Core
    都2024年了,搜了一下网上关于在宝塔上部署.netCore项目的,基本还是五六年前那一套: supervisor守护进程启动项目+ 新增静态站点+手动配置反向代理全套下来也挺麻烦的........前几天在一台闲置主机上安装了个宝塔面板版本是:9.0  发现网站选项里多了很多选项,万恶的是居......
  • 使用CORS解决跨域问题
    如果发起请求所在主机(也称为域)和处理请求所在主机的协议、域名和端口号这三者中有任何一项不同,那么发出的请求就叫跨域请求。出于网络安全性方面的考虑,跨域请求会被限制,SpringBoot后端不能直接处理跨域请求,为了解决这一问题,可以在后端项目中引入CORS解决方案。在CORS(Cros......
  • (接上篇问题回答)OWASP Top 10 漏洞详解:基础知识、面试常问问题与实际应用
    1.SQL注入面试常见问题什么是SQL注入? SQL注入是一种网络安全漏洞,攻击者通过向SQL查询插入恶意代码,来干扰应用程序的数据库查询,导致未授权的数据访问或数据操纵。如何防止SQL注入? 防止SQL注入的方法包括:使用预编译的SQL语句(PreparedStatements)。使用ORM工具。严格验证和......
  • coredata类比
    在CoreData中,理解各个类和它们之间关系的方式,可以通过类比现实生活中的物品和概念来帮助理解。以下是CoreData中一些主要类的类比:1.NSManagedObjectContext类比:一个“工作空间”或“办公室”解释:就像一个办公室是你处理工作、进行交流的地方,NSManagedObjectContext是......
  • 第九章习题3-编写一个函数print,打印一个学生的成绩数组,该数组有5个学生的数据记录,每个
     ......
  • Gateway过滤器执行顺序以及跨域问题
    执行顺序请求进入网关会碰到三类过滤器:当前路由的过滤器、DefaultFilter、GlobalFilter请求路由后,会将当前路由过滤器和DefaultFilter、GlobalFilter,合并到一个过滤器链(集合)中,排序后依次执行每个过滤器每一个过滤器都必须指定一个int类型的order值,order值越小,优先级越高,执......
  • C#关于EF Core 8.0 使用 Contians 遇到的坑
    最近接手一个项目二开,由于需要用到Sqlserver的JSON_Value功能,所以升级成EFCore8.0。但是使用FindAsIQueryable进行集合包含查找的时候报错了。查看EFview发现生成的Sql不对劲竟然用的是OPENJSON最后查了一下国外相关文章发现是EF8.0改了生成SQL的包含逻辑。由于使用的s......