Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Добро пожаловать! Это, вероятно, не страница, которую вы ожидали. Пока мы работаем над исправлением, эта ссылка должна привести вас к нужной статье.
Краткое руководство: Добавление входа с помощью Microsoft в веб-приложение ASP.NET Core
Приносим извинения за неудобства и благодарим за терпение! Мы работаем над устранением этой проблемы.
В этом кратком руководстве вы скачайте и запустите пример кода, демонстрирующий, как веб-приложение ASP.NET Core может выполнять вход пользователей из любой организации Microsoft Entra.
Шаг 1. Настройка приложения на портале Azure
Чтобы пример кода в этом кратком руководстве работал:
- Для URI перенаправления введите https://localhost:44321/ и https://localhost:44321/signin-oidc.
- Введите https://localhost:44321/signout-oidc для URL-адреса выхода front-channel.
Конечная точка авторизации выдает токены ID запроса.
Приложение настроено с помощью этих атрибутов.
Шаг 2. Скачивание проекта ASP.NET Core
Запустите проект.
Подсказка
Чтобы избежать ошибок, вызванных ограничениями длины пути в Windows, рекомендуется извлечь архив или клонировать репозиторий в каталог рядом с корнем диска.
Шаг 3. Приложение настроено и готово к выполнению
Мы настроили проект со значениями свойств вашего приложения и готовы к выполнению.
Замечание
Enter_the_Supported_Account_Info_Here
Дополнительные сведения
В этом разделе представлен обзор кода, необходимого для входа пользователей. В этом обзоре можно понять, как работает код, каковы основные аргументы и как добавить вход в существующее приложение ASP.NET Core.
Как работает этот пример
Класс Стартап
ПО промежуточного слоя Microsoft.AspNetCore.Authentication использует Startup
класс, который выполняется при запуске процесса размещения:
public void ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(OpenIdConnectDefaults.AuthenticationScheme)
.AddMicrosoftIdentityWebApp(Configuration.GetSection("AzureAd"));
services.AddControllersWithViews(options =>
{
var policy = new AuthorizationPolicyBuilder()
.RequireAuthenticatedUser()
.Build();
options.Filters.Add(new AuthorizeFilter(policy));
});
services.AddRazorPages()
.AddMicrosoftIdentityUI();
}
Метод AddAuthentication()
настраивает службу для добавления проверки подлинности на основе файлов cookie. Эта проверка подлинности используется в сценариях браузера и для задания задачи OpenID Connect.
Строка, содержащая .AddMicrosoftIdentityWebApp
проверку подлинности платформы удостоверений Майкрософт, добавляется в приложение. Затем приложение настроено для входа пользователей на основе следующих сведений в AzureAD
разделе файла конфигурации appsettings.json :
Ключ appsettings.json | Описание |
---|---|
ClientId |
Идентификатор приложения (клиента), зарегистрированного на портале Azure. |
Instance |
Конечная точка службы токенов безопасности для проверки подлинности пользователей. Обычно это значение https://login.microsoftonline.com/ , указывающее на общедоступное облако Azure. |
TenantId |
Имя арендатора или идентификатор арендатора (GUID), или common , чтобы войти в систему с рабочими или учебными учетными записями, а также с личными учетными записями Microsoft. |
Метод Configure()
содержит два важных метода: app.UseAuthentication()
и app.UseAuthorization()
, которые обеспечивают упомянутые функциональные возможности. Кроме того, в методе Configure()
необходимо зарегистрировать веб-маршруты Microsoft Identity Web по крайней мере с одним вызовом endpoints.MapControllerRoute()
или вызовом endpoints.MapControllers()
.
app.UseAuthentication();
app.UseAuthorization();
app.UseEndpoints(endpoints =>
{
endpoints.MapControllerRoute(
name: "default",
pattern: "{controller=Home}/{action=Index}/{id?}");
endpoints.MapRazorPages();
});
Атрибут для защиты контроллера или методов
Вы можете защитить контроллер или методы контроллера, используя атрибут [Authorize]
. Этот атрибут разрешает доступ к контроллеру или методам только тем пользователям, которые прошли проверку подлинности. Затем можно запустить вызов проверки подлинности для доступа к контроллеру, если пользователь не прошел проверку подлинности.
Помощь и поддержка
Если вам нужна помощь, хотите сообщить о проблеме или узнать о доступных вариантах поддержки, см. Справка и поддержка для разработчиков.
Дальнейшие действия
Репозиторий GitHub, содержащий этот учебник ASP.NET Core, содержит инструкции и дополнительные примеры кода, которые показано, как:
- Добавьте проверку подлинности в новое веб-приложение ASP.NET Core.
- Вызовите Microsoft Graph, другие API Майкрософт или собственные веб-API.
- Добавьте авторизацию.
- Вход для пользователей в национальные облака или с помощью социальных учётных данных.