Я создаю простой бэкэнд ASP.NET, и мне нужно включить CORS в белый список только моего веб-сайта (с которого поступают запросы), в то время как он должен быть недоступен из любого другого источника.Я сделал это, как на картинке ниже (и я честно попробовал любой другой способ, который я знаю, но безуспешно), и чего я достиг, так это того, что при выполнении любого запроса (GET, PUT, POST ...) у меня всегда не возникает проблемвеб-сайт из белого списка (и это нормально), но я также получаю ответ из других источников, в то время как у меня только общая ошибка CORS на консоли браузера (повторяю, при получении ошибки я также получаю ответ, который мне не нужен).Что мне делать?
Заранее спасибо,
Matteo
public class Startup
{
public Startup(IHostingEnvironment configuration)
{
Configuration = configuration;
}
public IHostingEnvironment Configuration { get; }
// This method gets called by the runtime. Use this method to add services to the container.
public void ConfigureServices(IServiceCollection services)
{
services.AddCors(options =>
{
options.AddPolicy("AllowMyOrigin",
builder => builder.WithOrigins("https://myclient"));
});
services.Configure<CookiePolicyOptions>(options =>
{
// This lambda determines whether user consent for non-essential cookies is needed for a given request.
options.CheckConsentNeeded = context => true;
options.MinimumSameSitePolicy = SameSiteMode.None;
});
services.AddEntityFrameworkSqlite()
.AddDbContext<WebApiContext>(options => options.UseSqlite($"Data Source={Configuration.WebRootPath}/tutoriel.db"));
services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_2);
services.Configure<MvcOptions>(options =>
{
options.Filters.Add(new CorsAuthorizationFilterFactory("AllowMyOrigin"));
}); //Imposta il cors su tutto il progetto (resource: DZone)
}
// This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
}
else
{
app.UseExceptionHandler("/Home/Error");
// The default HSTS value is 30 days. You may want to change this for production scenarios, see https://aka.ms/aspnetcore-hsts.
app.UseHsts();
}
app.UseCors("AllowMyOrigin");
app.UseHttpsRedirection();
app.UseStaticFiles();
app.UseCookiePolicy();
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}
}
Ошибка:
Object { headers: {…}, status: 0, statusText: "Unknown Error", url: "https://mysite", ok: false, name: "HttpErrorResponse", message: "Http failure response for https://mysite: 0 Unknown Error", error: error }
core.js:15724
Предупреждение:
Блокировка перекрестного чтения (CORB) заблокировала ответ перекрестного происхождения https://mysite с приложением MIME-типа / json.См. https://www.chromestatus.com/feature/5629709824032768 для получения более подробной информации.
ошибка запроса несанкционированного сайта
, но результат Json показал
{"id":"w.paciaroni","luogo":"giappone","disponibilita":false}