Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Авторизация в ASP.NET Core управляется атрибутом [Authorize] и различными параметрами. В самой базовой форме применение атрибута [Authorize] к компоненту Razor, контроллеру, действию или Razor-странице ограничивает доступ к этому компоненту только для пользователей, прошедших проверку подлинности.
В этой статье используются примеры компонентов и рассматриваются сценарии авторизации. Инструкции по Pages и MVC см. в следующих ресурсах после прочтения этой статьи:
- Простая авторизация в ASP.NET Core Pages
- Простая авторизация в ASP.NET Core MVC
Атрибут
В приложениях укажите атрибут в верхней части файла компонента (). В следующем примере только прошедшие проверку подлинности пользователи могут access страницу:
@page "/"
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
You can only see this if you're signed in.
Это важно
Используйте атрибут только для компонентов, достигнутых через маршрутизатор. Авторизация выполняется только как аспект маршрутизации и не для дочерних компонентов, которые отображаются на странице. Чтобы авторизовать отображение определенных частей на странице, используйте вместо этого компонент AuthorizeView, который описан в разделе ASP.NET Core Blazor аутентификации и авторизации.
Атрибут также можно применить ко всем компонентам приложения или подмножества компонентов в папке с помощью файла (). Добавьте директиву для пространства имен с директивой атрибута:
@using Microsoft.AspNetCore.Authorization
@attribute [Authorize]
Атрибут также поддерживает авторизацию на основе ролей или политик. Для авторизации на основе ролей используйте параметр. В следующем примере пользователь может получить доступ к странице, только если он входит в роль Admin или Superuser.
@page "/"
@attribute [Authorize(Roles = "Admin, Superuser")]
<p>You can only see this if you're in the 'Admin' or 'Superuser' role.</p>
Для авторизации на основе политик используйте этот параметр. В следующем примере пользователь может получить доступ к странице, если он удовлетворяет требованиям политики Over21авторизации:
@page "/"
@attribute [Authorize(Policy = "Over21")]
<p>You can only see this if you satisfy the 'Over21' policy.</p>
Если ни , ни не указаны, используется стандартная политика:
- Пользователи, прошедшие проверку подлинности, авторизованы.
- Неавторизованные (вышедшие из системы) пользователи не имеют разрешения.
Если пользователь не авторизован и если приложение не настраивает несанкционированное содержимое с помощью компонента, фреймворк автоматически отображает следующее резервное сообщение:
Not authorized.
Дополнительные сведения о проверке подлинности и авторизации Blazor см. в разделе ASP.NET Core Blazor аутентификации и авторизации.
Используйте атрибут [AllowAnonymous], чтобы разрешить доступ неавторизованным пользователям к отдельным действиям.
@using Microsoft.AspNetCore.Authorization
@attribute [AllowAnonymous]
Сведения о том, как требовать проверку подлинности для всех пользователей приложений, см. в статье Create приложение ASP.NET Core с данными пользователя, защищенными авторизацией.
Дополнительные ресурсы
- Простая авторизация в ASP.NET Core Страницы
- Простая авторизация в ASP.NET Core MVC
ASP.NET Core