Настройка IdentityUser из нового веб-приложения dotnet --auth Individual -o - PullRequest
0 голосов
/ 11 февраля 2019

Я изучаю C # и ядро ​​dotnet, в настоящее время я работаю над шаблоном

    dotnet new webapp --auth Individual -o WebApp1

Тем не менее, он многое делает для меня за кулисами, что я не понимаю.

Я роюсь в коде, чтобы найти, как создается и обрабатывается представление входа в систему, но мне не повезло.В настоящее время я пытаюсь добавить столбец в базу данных, указанную в этом шаблоне, показанную здесь:

services.AddDbContext<ApplicationDbContext>(options =>
            options.UseSqlite(
                Configuration.GetConnectionString("DefaultConnection")));
        services.AddDefaultIdentity<IdentityUser>()
            .AddEntityFrameworkStores<ApplicationDbContext>();

Ответы [ 2 ]

0 голосов
/ 11 февраля 2019

Основная команда dotnet решила абстрагировать свой пользовательский интерфейс по умолчанию для аутентификации в библиотеке Razor, найти зависимость -> SDK -> Microsoft.AspNetCore.App -> Microsoft.AspNetCore.Identity.UI

Lookкод этого пакета здесь

Это должно дать вам представление о том, что на самом деле происходит в фоновом режиме.

Что касается расширения модели User

public class CustomUser : IdentityUser
{
     //custom properties
}

Затем вы хотите настроить промежуточное ПО Identity, чтобы оно распознавалось как основная модель для ваших пользователей.

services.AddDefaultIdentity<CustomUser>();

Не забудьте обновить наследование базы данных, чтобы создать правильную таблицу.

public class ApplicationDbContext : IdentityDbContext<CustomUser> 
{
    ...
}
0 голосов
/ 11 февраля 2019

IdentityUser является базовым «пользовательским» классом для Identity, поэтому он заполняет его, поэтому никаких дополнительных усилий с вашей стороны не требуется.Это нормально, если вы не хотите настраивать пользователя, но поскольку вы, очевидно, делаете это, просто создайте свой собственный класс, производный от IdentityUser:

public class MyUser : IdentityUser
{
    public string Foo { get; set; }
}

Затем используйте свой пользовательский класс в качествевведите param вместо IdentityUser:

services.AddDefaultIdentity<MyUser>()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...