Контекст
Я успешно включил CORS для всех своих маршрутов при запуске , и он работает :
services.AddCors(options =>
{
options.AddPolicy("MyAllowPolicy",
builder =>
{
builder.WithOrigins("https://www.sample.hostname.com")
.AllowAnyMethod()
.AllowAnyMethod();
});
});
// ...
app.UseCors("MyAllowPolicy");
Вопрос
Я хотел бы быть как можно менее защищенным, поэтому я хотел бы разрешить CORS только определенную c страницу, которая находится в / Pages / MyFolder / MyPage и доступна в маршруте / MyFolder / MyPage
Если бы это было базовое веб-приложение ASP. MVC, я бы использовал [EnableCors("MyAllowPolicy")]
либо в классе Controller, либо в методе Action. Однако это веб-приложение ASP. NET Core 3.1 Pages.
Как включить политику CORS только для / Pages / MyFolder / MyPage?
Что я До сих пор пробовал:
Куда бы я ни посмотрел, я нашел только этот пример:
app.UseCors(); // void parameter
//...
app.UseEndpoints(endpoints =>
{
endpoints.MapGet("/MyFolder/MyPage",
context => context.Response.WriteAsync("hello"))
.RequireCors("MyAllowPolicy");
endpoints.MapControllers()
.RequireCors("MyAllowPolicy");
endpoints.MapRazorPages();
});
, но это, очевидно, делает ответ "эхо" вместо содержимого моей страницы ...