Перейти к содержанию

Настройка сервисов ASP.NET Core Identity и промежуточного ПО

Чтобы добавить ASP.NET Core Identity в существующее приложение, нужно добавить два NuGet-пакета:

  • Microsoft.AspNetCore.Identity.EntityFrameworkCore — предоставляет все основные сервисы Identity и интеграцию с EF Core;
  • Microsoft.AspNetCore.Identity.UI — предоставляет страницы Razor Pages для UI по умолчанию.

Далее добавляем конфигурацию в Startup.cs:

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<AppDbContext>(options =>
        options.UseSqlServer(Configuration
                                .GetConnectionString("DefaultConnection")));

    services.AddDefaultIdentity<ApplicationUser>(options => options
            .SignIn.RequireConfirmedAccount = true)
        .AddEntityFrameworkStores<AppDbContext>(); //Важно использовать существующий DbContext
    ...
}

Здесь мы добавили тип ApplicationUser — наследника IdentityUser. Подробнее в следующем разделе.
Также нужно настроить AuthenticationMiddleware:
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseStaticFiles(); //StaticFilesMiddleware не будет воспринимать запросы как аутентифицированные
    app.UseRouting();

    app.UseAuthentication();
    app.UseAuthorization();

    app.UseEndpoints(endpoints => endpoints.MapRazorPages());
}


Последнее обновление : 4 мая 2023 г.
Дата создания : 5 октября 2022 г.

Комментарии

Комментарии