我正在尝试向身份(asp net core)RoleClaims 表添加一列,但我发现内容只是为了扩展角色和用户类,而不是扩展到 RoleClaims。有人可以帮忙举例或指出内容。
您需要创建一个新类来扩展RoleClaim
. 这是一个示例,说明如果您的密钥类型是string
:
public class ApplicationRoleClaim : IdentityRoleClaim<string>
{
public virtual ApplicationRole Role { get; set; }
}
您可以向此类添加任何您想要的新属性,然后创建迁移以将它们添加为表列。
您还需要告诉您IdentityDbContext
也使用这个新类。这是文档中的一个示例:
public class ApplicationDbContext
: IdentityDbContext<
ApplicationUser, ApplicationRole, string,
ApplicationUserClaim, ApplicationUserRole, ApplicationUserLogin,
ApplicationRoleClaim, ApplicationUserToken>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
编辑:
使用您的自定义ApplicationRoleClaim
类,您也可以覆盖OnModelCreating
。这是文档中的一个示例:
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
⋮
modelBuilder.Entity<IdentityRoleClaim<string>>(b =>
{
b.ToTable("MyRoleClaims");
});
⋮
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句