Asp.net core 授权失败时ASP.NET Core发送访问控制允许源站标头

Asp.net core 授权失败时ASP.NET Core发送访问控制允许源站标头,asp.net-core,cors,authorization,asp.net-core-3.0,Asp.net Core,Cors,Authorization,Asp.net Core 3.0,我的控制器上有CORS和授权设置。当客户端通过身份验证并发送有效的授权头时,一切正常。如果客户端发送无效的授权头或根本没有头,则来自服务器的响应是401,没有访问控制允许源头,这会在客户端上导致许多问题 是否有一种方法可以强制asp.net core始终发送访问控制允许来源标题,即使授权失败?解决方案是在使用授权之前使用CORS 不工作 app.UseRouting(); app.UseAuthentication(); app.UseAuthorization(); if(env.IsProd

我的控制器上有CORS和授权设置。当客户端通过身份验证并发送有效的
授权
头时,一切正常。如果客户端发送无效的
授权
头或根本没有头,则来自服务器的响应是401,没有
访问控制允许源
头,这会在客户端上导致许多问题


是否有一种方法可以强制asp.net core始终发送
访问控制允许来源
标题,即使授权失败?

解决方案是在使用授权之前使用CORS

不工作

app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();
if(env.IsProduction())
{
app.UseCors(builder=>
{
建设者
.来源(“https://example.com")
.AllowAnyMethod()
.AllowAnyHeader();
});
}
其他的
{
app.UseCors(builder=>
{
建设者
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
}
工作

if(env.IsProduction())
{
app.UseCors(builder=>
{
建设者
.来源(“https://example.com")
.AllowAnyMethod()
.AllowAnyHeader();
});
}
其他的
{
app.UseCors(builder=>
{
建设者
.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader();
});
}
app.UseRouting();
app.UseAuthentication();
app.UseAuthorization();