У меня есть это промежуточное ПО, которое проверяет, прошел ли аутентификация пользователя по всем входящим запросам.
app.Use(async (context, next) =>
{
if (!context.User.Identity.IsAuthenticated
&& context.Request.Path != "/Home/Index"
&& context.Request.Path != "/Home/Login")
{
await context.ChallengeAsync();
}
else
{
await next();
}
});
Однако существует тип файла (PBF), который не нуждается в защите. Запрос будет что-то вроде:
context.Request.Path = site / folder / 68-09.pbf
По сути, эти файлы представляют собой двоичные файлы, которые используются для визуализации объектов на открытой карте улиц, когда пользователь перетаскивает свою мышь в геолокацию, поэтому эти файлы могут отображаться 100 раз в секунду! Поэтому я хотел бы не проверять их в промежуточном программном обеспечении, чтобы ускорить работу сайта.
Я пробовал это:
app.UseWhen(context => !context.Request.Path.Value.Contains(".pbf"), appBuilder =>
{
app.Use(async (context, next) =>
{
if (!context.User.Identity.IsAuthenticated
&& context.Request.Path != "/Home/Index"
&& context.Request.Path != "/Home/Login")
{
await context.ChallengeAsync();
}
else
{
await next();
}
});
});
Но это не избегает файлов PBF, возможно ли это, и если да, то какая-нибудь помощь?