如何解决asp.net核心身份来自BaseApplicationUser
我使用来自asp.net core 2.2的用户管理系统身份。
我需要几种类型的用户...例如,仓库用户和应用程序用户
我创建一个从idity用户类=> IdentityUser<long>
public class BaseApplicationUser : IdentityUser<long>
{
public string FirstName { set; get; }
public string LastName { set; get; }
.
.
.
}
以及仓库用户和商店用户从BaseApplicationUser继承以创建不同的用户。
public class ApplicationUser:BaseApplicationUser
{
.
.
}
public class WarehouseApplicationUser:BaseApplicationUser
{
.
.
}
我只想为他们所有一个表=>“ AspNetUsers” 在OnModelCreating上添加了以下代码:
protected override void OnModelCreating(ModelBuilder builder)
{
builder.Entity<ApplicationUser>();
builder.Entity<WarehouseApplicationUser>();
}
和上下文中的DbSet中:
public DbSet<ApplicationRole> ApplicationRole { get; set; }
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
public DbSet<WarehouseApplicationRole> WarehouseApplicationRole { get; set; }
public DbSet<WarehouseApplicationUser> WarehouseApplicationUsers { get; set; }
}
**我需要并创建用户喜欢的单独角色类 “ ApplicationRole”和“ WarehouseApplicationUsers”
什么是问题? 1-如何在asp.net核心身份中创建不同的用户? ( 最好的办法 ) 2-另一个问题是=>当我将文件添加到“ ApplicationUser”时,此字段成功添加到“ AspNetUsers”中,但是当将字段添加到“ WarehouseApplicationUsers”时,EF核心使用名称添加了新表 然后在“ WarehouseApplicationUsers”和“ WarehouseApplicationRole”以及“ WarehouseApplicationUserRole”表中添加字段“ WarehouseApplicationUsers” ...这是什么!
最后,如何继承和构建不同用户的层次结构?感激
解决方法
问题1:
How to create different users in asp.net core Identity ?
ASP.NET Core提供了一种内置方法:AddIdentityCore<TUser>
。
您可以像这样使用它:services.AddIdentityCore<ApplicationUser>();
更多详细信息,您可以查看此thread。
问题2:
这里是一个示例,您可以将其与您的代码进行比较:
BaseApplicationUser:
public class BaseApplicationUser: IdentityUser
{
public string FirstName { set; get; }
public string LastName { set; get; }
}
ApplicationUser:
public class ApplicationUser : BaseApplicationUser
{
public string Year { get; set; }
}
WarehouseApplicationUser:
public class WarehouseApplicationUser : BaseApplicationUser
{
public string Age { get; set; }
}
ApplicationDbContext:
public class ApplicationDbContext : IdentityDbContext<BaseApplicationUser>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
public DbSet<ApplicationUser> ApplicationUsers { get; set; }
public DbSet<WarehouseApplicationUser> WarehouseApplicationUsers { get; set; }
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。