Cors 跨域

开启跨域需要自定义配置文件,文件目录:Setting\CorsPolicy.json。

文件内容:

{
  "Cors": [
    {
      "Name": "CorsPolicy",
      "Origin": [ "*" ],
      "Headers": [ "*" ],
      "Methods": [ "POST", "PUT", "DELETE", "GET", "OPTIONS" ],
      "AllowCredentials": false,
      "WithExposedHeaders": []
    }
  ]
}
                    
配置项 说明
Name 不配置该项,全局允许跨域
配置该项,限制某些 Action 允许跨域,需要在 Action 上添加特性 EnableCors,设置与 name 相同的值。
Origin 设置允许跨域的来源,结尾不允许有 /,允许全部可以只写一个 "*"。
Headers 设置允许跨域的请求标头,允许全部可以只写一个 "*"。
Methods 设置允许的 http[s] 请求方法,允许全部可以只写一个 "*"。
AllowCredentials 允许 Access-Control-Allow-Credentials
WithExposedHeaders 设置公开的响应标头。

只限定某些 Aciton 允许跨域示例:

[HttpGet(Name = "GetWeatherForecast"), AllowAnonymous]
[EnableCors("CorsPolicy")]
public async Task<_Info> Get()
{
   return null;
}