netcore跨域问题与接口请求错误400

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

posted @ 2021-08-02 17:25  苏苏苏en  阅读(743)  评论(0编辑  收藏  举报