asp.net core 跨域配置不起作用的原因分析及解决方案
更新时间:2024年10月17日 09:51:05 作者:长空nice
在ASP.NET Core中配置跨域时,正确的中间件顺序至关重要,否则可能导致跨域无效,此外,如果同时使用中间件和属性来启用跨域,需要确保策略名称一致,文章提供了官方简单启用跨域的示例代码,帮助开发者避免常见的配置错误
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 跨域配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
ASP.NET MVC中为DropDownListFor设置选中项的方法
这篇文章主要介绍了ASP.NET MVC中为DropDownListFor设置选中项的方法,需要的朋友可以参考下2014-10-10
ASP.NET My97DatePicker日期控件实现OA日期记事功能
这篇文章主要介绍了ASP.NET My97DatePicker日期控件实现OA日期记事功能的相关资料,需要的朋友可以参考下2016-04-04
12306动态验证码启发之ASP.NET实现动态GIF验证码(附源码)
这篇文章主要介绍了受到12306动态验证码启发,实现ASP.NET动态GIF验证码,需要的朋友可以参考下2015-08-08
详解ASP.NET Core 之 Identity 入门(二)
本篇文章主要介绍了ASP.NET Core 之 Identity 入门,主要负责对用户的身份进行认证,有兴趣的可以了解一下。2016-12-12


最新评论