Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
| Ценность | |
|---|---|
| Идентификатор правила | 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