我收到警告错误,说
“ Microsoft.AspNetCore.Cors.Infrastructure.CorsService | CORS 协议不允许指定通配符(任何)来源,并且 凭证。通过列出配置策略 如果需要支持凭据,则为单个来源。”
代码 控制器
[Route("api/[controller]")]
[EnableCors("CorsPolicy")]
[ApiController]
public class MedPlusController : ControllerBase
{
}
Startup.cs
public void ConfigureServices(IServiceCollection services)
{
services.AddDbContext<Context>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.AllowAnyOrigin()
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
}
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
app.UseCors("CorsPolicy");
app.UseMvc();
}
答案 0 :(得分:0)
如果您实施身份验证,则将
的AllowAnyOrigin
更改为WithOrigins
services.AddCors(options =>
{
options.AddPolicy("CorsPolicy",
builder => builder.WithOrigins("http://example.com")
.AllowAnyMethod()
.AllowAnyHeader()
.AllowCredentials());
});
如果您不使用身份验证,则可以直接删除.AllowCredentials()
。