OWIN 中的 CorsMiddleware

Posted

技术标签:

【中文标题】OWIN 中的 CorsMiddleware【英文标题】:CorsMiddleware in OWIN 【发布时间】:2013-12-29 07:02:57 【问题描述】:

我仍在尝试了解 OWIN,特别是为什么我要使用 CorsMiddleware 通过 OWIN 配置 CORS:

appBuilder.UseCors(…)

而不是继续使用 HttpConfiguration,像这样:

var config = new HttpConfiguration();
config.EnableCors(…);

appBuilder.UseWebApi(config);

鉴于后者与 EnableCors 和 DisableCors 属性兼容,这为您提供了更细粒度的控制(至少我还没有找到一种方法来在每个控制器的基础上配置 CorsMiddleware)。

【问题讨论】:

【参考方案1】:

如果 Web API CORS 对您有用,那么就使用它。使用 Owin 中间件的唯一原因是,如果您的应用框架不支持它,或者如果您有多个应用托管在一起并且希望拥有一个 CORS 处理程序。

Owin 中间件允许中间件的编写者只需要编写一次,而不是为每个框架编写。作为消费者,它不会为您增加太多价值。

【讨论】:

以上是关于OWIN 中的 CorsMiddleware的主要内容,如果未能解决你的问题,请参考以下文章

从 OWIN 中的 OAuth Bearer Token 获取 IPrincipal

Web API 中的 OWIN CORS 问题

Owin 学习系列1. 第一个 Owin 程序

WebApi.Owin 中的 SuppressDefaultHostAuthentication 也抑制 webapi 外部的身份验证

Web API - owin 中的 HttpContext.Current 问题,用于使用 moq 进行集成测试

带有 OWIN 的 webapi 中的复杂 JSON Web 令牌数组