ASP0001. ПО промежуточного слоя авторизации неправильно настроено
Значение | |
---|---|
Идентификатор правила | ASP0001 |
Категория | Использование |
Исправление является критическим или не критическим | Не критическое |
Причина
В коде запуска приложения обнаружен неупорядоченный вызов UseAuthorization .
Описание правила
Чтобы авторизация была эффективной для маршрутов конечных точек, вызов UseAuthorization
должен отображаться между вызовами UseRouting
и UseEndpoints
. В отсутствие этого резервная политика, если она настроена, будет использоваться для авторизации всех запросов.
Рассмотрим следующий код:
app.UseStaticFiles();
app.UseAuthorization();
app.UseRouting();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
UseAuthorization
Вызов отображается раньше UseRouting
и, следовательно, не учитывает конечную точку.
Устранение нарушений
Измените порядок выполнения вызова UseAuthorization
и UseRouting
выполнения.
app.UseStaticFiles();
app.UseRouting();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapDefaultControllerRoute();
});
Когда лучше отключить предупреждения
Это правило безопасно подавлять, если вызов UseAuthorization
предназначен для авторизации резервной политики во всех исходящих запросах или предназначен для авторизации ресурсов, не маршрутизируемых с помощью маршрутизации конечных точек.
ASP.NET Core