当前位置: 代码网 > it编程>编程语言>Asp.net > asp.net core 跨域配置不起作用的原因分析及解决方案

asp.net core 跨域配置不起作用的原因分析及解决方案

2024年10月30日 Asp.net 我要评论
1、中间件配置跨域的顺序不对中间件顺序配置对了基本上就能解决大部分问题中间件顺序配置对了基本上就能解决大部分问题附上官网简单的启用跨域的代码var myallowspecificorigins =

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

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

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

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
{
}

到此这篇关于asp.net core 跨域配置不起作用的原因的文章就介绍到这了,更多相关asp.net core 跨域配置内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com