asp.net core webAPI学习笔记(二)跨域问题

IDE 版本:Visual Studio 2017 15.9.7
asp.net core 版本 2.1.1

本文档说明需在
asp.net core webAPI学习笔记(一)项目搭建
的基础下进行

Startup.cs中添加允许跨域代码
asp.net core webAPI学习笔记(二)跨域问题_第1张图片
appsettiongs.json文件配置

{
  "Logging": {
    "LogLevel": {
      "Default": "Warning"
    }
  },
  "AllowedHosts": "*" // 允许所有域名访问
}
    // 获取appsettings.json配置信息
	var config = new ConfigurationBuilder()
	                .SetBasePath(System.IO.Directory.GetCurrentDirectory())
	                .AddJsonFile("appsettings.json")
	                .Build();
	var alloweHosts = config["AllowedHosts"]; // 获取允许跨域的域名配置
	
	//配置跨域处理
	services.AddCors(options =>
	{
	    options.AddPolicy("cors", builder =>
	    {
	        builder.WithOrigins(alloweHosts) //允许指定域名访问
	        .AllowAnyMethod()
	        .AllowAnyHeader()
	        .AllowCredentials();//指定处理cookie
	    });
	});

asp.net core webAPI学习笔记(二)跨域问题_第2张图片
在控制器或者action上添加跨域规则,如果在控制器上添加跨域规则,则整个控制器内的方法都允许跨域
asp.net core webAPI学习笔记(二)跨域问题_第3张图片
同理,在action上添加跨域规则,则只有该action才允许跨域
asp.net core webAPI学习笔记(二)跨域问题_第4张图片

你可能感兴趣的:(.NET,Core,WebAPI)