【发布时间】:2022-01-28 11:06:24
【问题描述】:
我正在使用 asp .net core 6.0 web Api。(我们正在将 asp .net core 从 3.1 迁移到 6.0)
我确实在我们的 asp .net core 6.0 项目中启用了 cors,并且早些时候(今天早上)工作正常。但现在我遇到了 cors 错误。
错误:
Access to XMLHttpRequest at 'http://localhost:5000/api/user/authenticate' from origin 'http://localhost:4200' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: Redirect is not allowed for a preflight request.
我撤销了我的 git 提交并进行了检查。仍然会出现 CORS 错误
这是我的程序.cs
var app = builder.Build();
app.UseHttpsRedirection();
app.UseForwardedHeaders();
app.UseCors(builder => builder.WithOrigins("*")/*.AllowAnyOrigin()*/.AllowAnyHeader().AllowAnyMethod());
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
同样的代码在早期的 asp .net core 6.0 中运行良好。 现在也在 asp .netcore 3.1 项目中工作正常。
注意:我搜索了这个错误。并尝试与此答案How to enable cors in ASP.NET Core 6.0 Web API project? 相同。但它对我不起作用。
我犯了什么错误? 为什么会出现这个错误(今天早上我没有遇到这个错误。但是现在遇到了这个错误。我也撤销了我的新提交。但是 CORS 错误)
是否有任何其他原因导致此 CORS 错误。我猜错误出在我的 asp.net core 6.0 项目上,因为 asp.net core 3.1 项目运行良好
【问题讨论】:
-
你解决了这个问题吗?
-
var builder = WebApplication.CreateBuilder(args); builder.Services.AddCors(options => { options.AddPolicy("ClientPermission", policy => { policy.AllowAnyHeader() .AllowAnyMethod() .SetIsOriginAllowed(_ => true) .AllowCredentials(); }); }); var app = builder.Build(); app.UseCors("ClientPermission"); // 配置 HTTP 请求管道 if (app.Environment.IsDevelopment()) { app.UseDeveloperExceptionPage(); }
-
用上面的代码试试
-
还是不行
标签: c# asp.net-core cors asp.net-core-webapi asp.net-core-6.0