251  
查询码:00000278
netcore跨域问题与接口请求错误400
作者: 陈一奇 于 2021年08月02日 发布在分类 / 人防组 / 人防后端 下,并于 2021年08月02日 编辑
netcore 跨域

1.在startup.cs中配置好基本的跨域的一些属性后,前端还是一直报跨域的错误


  //配置跨域处理
            services.AddCors(options =>
            {
                options.AddPolicy("any", builder =>
                {
                    builder.AllowAnyOrigin()
                      .AllowAnyMethod()
                    .AllowAnyHeader()

                         .AllowCredentials();
                });
            });


后来加这段后跨域问题解决

ASP.NET Core 防止跨站请求伪造(XSRF/CSRF)攻击

  services.AddMvc(options => options.Filters.Add(new AutoValidateAntiforgeryTokenAttribute()));

2.POST请求一律报400错误,后来排查到时因为加了上面的属性,注释后正常访问,但两者存在冲突

3.正确解决方案(上面的防止跨站攻击的代码删除掉,加上下面的这段)

    通过“CorsAuthorizationFilterFactory”过滤器方式给所有Controller增加跨域设置

services.Configure<MvcOptions>(option => option.Filters.Add(new CorsAuthorizationFilterFactory("any"))); 


参考:

https://stackoverflow.com/questions/44379560/how-to-enable-cors-in-asp-net-core-webapi


https://blog.csdn.net/aoquandao8917/article/details/101937311



 推荐知识

 历史版本

修改日期 修改人 备注
2021-08-02 17:07:38[当前版本] 陈一奇 修改内容
2021-08-02 17:04:55 陈一奇 其他原因...
2021-08-02 17:02:28 陈一奇 创建版本

知识分享平台 -V 4.8.7 -wcp