如何通过 ASP.NET 身份用户管理器使用自定义用户?

问题描述 投票:0回答:1

我创建了一个自定义应用程序用户,我在身份存储/用户管理器/等中使用它。但无论我做什么,它都会继续尝试利用

AspNetUsers
表,而不是从迁移生成的
ApplicationUser
表。

Program.cs

builder.Services.AddDefaultIdentity<ApplicationUser>(options => options.SignIn.RequireConfirmedAccount = true)
        .AddSignInManager<SignInManager<ApplicationUser>>()
        .AddRoles<IdentityRole>()
        .AddRoleManager<RoleManager<IdentityRole>>()
        .AddDefaultTokenProviders()
        .AddEntityFrameworkStores<CoreContext>();

ApplicationUser.cs

public class ApplicationUser : IdentityUser<string>
{
    public int? TestValue { get; set; }
}

在我的

HomeController

public HomeController(UserManager<ApplicationUser> userManager)
{
    _userManager = userManager;
}

索引方法:

public IActionResult Index()
{
    var test = _userManager.Users.ToList();
    var user = await _userManager.FindByEmailAsync('[email protected]');   //user exists in SQL table

    return View();
}

我清除了我的

AspNetUsers
表,但没有清除我的
ApplicationUser
SQL 表,即使我使用
AspNetUsers
,它仍然尝试从
UserManager<ApplicationUser>
中提取数据。

如有任何帮助,我们将不胜感激。

我尝试使用

ApplicationUser
类覆盖 ASP.NET Identity 类。我希望从适当的表中提取数据。

asp.net-identity
1个回答
0
投票

解决方案是致电

b.Entity<ApplicationUser>.ToTable("ApplicationUser")

这里:https://stackoverflow.com/a/56132511/24293704

© www.soinside.com 2019 - 2024. All rights reserved.