Estou tentando usar o pacote de identidade do .NET Core com várias classes que se estendem, IdentityUser<Guid>
mas com uma única UserRole
classe.
Eu tenho várias classes que se estendem UserStore<T>
para cada tipo de usuário e uma única classe que se estende RoleStore<UserRole>
.
O seguinte é o meu startup.cs
:
services.AddIdentity<InternalUser, UserRole>(IdentityOptions)
.AddDefaultTokenProviders()
.AddUserStore<InternalUserStore>()
.AddRoleStore<GenericUserRoleStore>();
services.AddIdentityCore<Contractor>(IdentityOptions)
.AddRoles<UserRole>()
.AddDefaultTokenProviders()
.AddUserStore<ContractorUserStore>()
.AddRoleStore<GenericUserRoleStore>();
services.AddIdentityCore<Homeowner>(IdentityOptions)
.AddRoles<UserRole>()
.AddDefaultTokenProviders()
.AddUserStore<HomeownerUserStore>()
.AddRoleStore<GenericUserRoleStore>();
Meu DbContext
não está estendendo IdentityDbContext
:
public sealed class EntityDbContext: DbContext { }
Eu estava recebendo vários erros, então adicionei o seguinte, DbContext
mas comentei:
public DbSet<IdentityUserClaim<Guid>> UserClaims { get; set; }
public DbSet<IdentityUserRole<Guid>> UserRoles { get; set; }
Estou recebendo muitos erros diferentes:
erro de compilação na Instância 'Dal.IdentityStores.InternalUserStore' para PluginType IUserStore - e Instância 'RoleManager' para PluginType Microsoft.AspNetCore.Identity.RoleManager
1[Models.Entities.Users.UserRole] - and Instance 'Dal.IdentityStores.GenericUserRoleStore' for PluginType Microsoft.AspNetCore.Identity.IRoleStore
1 [Models.Entities.Users.UserRole] - e Instance 'Dal.IdentityStores.GenericUserStore. PluginType Microsoft.AspNetCore.Identity.IRoleStore1[Models.Entities.Users.UserRole] - and Instance 'Dal.IdentityStores.ContractorUserStore' for PluginType Microsoft.AspNetCore.Identity.IUserStore
1 [Models.Entities.Contractors.Contractor] - e a Instância 'UserClaimsPrincipalFactory' para PluginType Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory1[Models.Entities.Contractors.Contractor] - and Instance 'UserClaimsPrincipalFactory<Contractor, UserRole>' for PluginType Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory
1 [Models.Entities.Contractors 'forManager] - PluginType Microsoft.AspNetCore.Identity.UserManager1[Models.Entities.Homeowners.Homeowner] - and Instance 'UserClaimsPrincipalFactory<Homeowner>' for PluginType Microsoft.AspNetCore.Identity.IUserClaimsPrincipalFactory
1 [Models.Entities.Homeowners.Homeowner]
Este é o link para o meu repo