NetCore3.1解决跨域

跨域问题的出现,简而言之就是基于浏览器同源策略而反馈出来的一种安全机制,是前端开发调用中出现的一种十分常见的问题,且解决方法有多种,比如采用Nginx做代理服务器,或者在前端使用自己的代理服务器,或者是直接在后端设置允许跨域,这里采用的是最后一种解决手段。


环境说明:netcore 3.1


代码部分

Startup.cs

        public void ConfigureServices(IServiceCollection services)
        {
            //支持mvc服务
            services.AddControllersWithViews();
            //允许所有跨域
            services.AddCors(options => options.AddPolicy("CorsPolicy",
                 builder =>
                 {
                     builder.AllowAnyMethod()
                         .SetIsOriginAllowed(_ => true)
                         .AllowAnyHeader()
                         .AllowCredentials();
                 }));
            
        }

然后接着在Configure中启用

       public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }


            //启用路由
            app.UseRouting();
            //允许所有跨域
            app.UseCors("CorsPolicy");

            app.UseEndpoints(endpoints =>
            {
                app.UseEndpoints(endpoints =>
                {   
                    //属性路由
                    endpoints.MapControllers();
                });
            });
        }

测试

HomeController

 [Route("Home")]
    public class HomeController : Controller
    {   


        [Route("")]
        [Route("Index")]
        [HttpGet]
        public IActionResult Index()
        {
            return Content("Home index");
        }

    
    }

前端走一个axios

 
      this.axios
        .get("https://localhost:5001/Home")
        .then(
          (response) => {
            console.log(response);
          },
          (error) => {
            console.log(error.message);
          }
        );

只要控制台没有爆CORS的错误就说明成功了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Deeeelete

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值