十八、跨域处理

如果系统之间需要交互通常需要进行特殊的配置才能够通讯。

什么是跨域

浏览器安全性可防止网页向不处理网页的域发送请求。 此限制称为同域策略 。 同域策略可防止恶意站点从另一站点读取敏感数据。 有时,你可能想要允许其他站点对你的应用进行跨域请求。这就是跨域。

什么是CORS

跨源资源共享(CORS):

  • 是一种 W3C 标准,可让服务器放宽相同的源策略。

  • 不是一项安全功能,CORS 放宽 security。 API 不能通过允许 CORS 来更安全。 有关详细信息,请参阅CORS 的工作原理。

  • 允许服务器明确允许一些跨源请求,同时拒绝其他请求。

  • 比早期的技术(如JSONP)更安全且更灵活。

CORS 使用

Hoa Framework 框架中已经默认集成了CORS 跨域的支持,且默认配置为 true,见 appsetting.json 配置:

{
  "AppConfigOptions": {
    "EnableGlobalAuthorizationFilter": false,
    "EnableGlobalUnifiedResultFilter": false,
    "EnableCorsSupport": true,  // 启用跨域支持,默认true
    "EnableGlobalPerformanceAnalysis": true,
    "EnableRedisCache": false
  },
}

配置CORS跨域信息

appsetting.json 中可配置 CORS 跨域信息,如:

{
  "CorsConfigOptions": {
    "PolicyName": "HoaAllowSpecificOrigins",  // 默认跨域策略名称
    "Origins": [  // 允许跨域域名配置
      "http://172.17.159.209",
      "http://localhost:4200",
      "http://stage.indigoehr.com",
      "http://enrollment-uat.alliantplans.com"
    ]
  },
}

更多跨域相关知识可查看官方文档

最后更新于