c# - .NET 5 对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头
问题描述
我目前正在尝试在 .NET Core 5 API 上启用 CORS。非预检,跨域请求工作正常;但是,所有OPTIONS
请求都会导致上述消息。我Startup.cs
看起来像这样:
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy(corsPolicyName, builder =>
{
builder
.WithOrigins("http://localhost:3000")
.AllowAnyHeader()
.AllowAnyMethod()
.AllowCredentials();
});
});
...
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors(corsPolicyName);
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllers();
});
}
在查看了其他几个线程之后,我似乎无法弄清楚我的配置有什么问题。任何帮助将不胜感激。
解决方案
消除 :
.AllowCredentials();
并在 UseRouting 和 UseAuthorization 之间移动 app.UseCors(corsPolicyName):
app.UseHttpsRedirection();
app.UseRouting();
app.UseCors(corsPolicyName);
app.UseAuthorization();
推荐阅读
- r - 什么 R 对象可以保存变量,以便我可以迭代该对象?
- android - 具有在线数据的最简单的应用程序,(android)
- javascript - Returning an object in an function expression - is null
- excel - 使用 2 个条件创建 vlookup 或索引匹配
- javascript - 获取最小值和最大值
- laravel - 拉拉维尔 | groupBy 作为对象返回
- python - Python 从tripadvisor 抓取“要做的事情”
- php - 数组未定义的偏移量注意 if 条件 [php]
- javascript - Javascript/Node.js 内部如何表示函数?
- node.js - Axios 将我连接到错误的端口