Authentifizierung und Autorisierung ohne Entity Framework in ASP.NET 5 MVC 6

Ich versuche, meine Authentifizierung und Autorisierung mithilfe meiner vorhandenen Datenbank und Tabellen zu konfigurieren, ohne Entity Framework (mithilfe von Dapper) zu verwenden.

Ich habe den Dapper richtig konfiguriert. Jetzt versuche ich, den SignInManager und den UserManager anzuschließen, um meine Datenbank über Dapper aufzurufen. Bevor dies jedoch passieren kann, treten bei meinem benutzerdefinierten Rollenspeicher einige Fehler auf.

Hier ist der Fehler, den ich erhalte, wenn ich auf der Website auf die Schaltfläche "Registrieren" klicke (dies ist nur ein einfaches Projekt mit allen vordefinierten Konten usw.)

InvalidOperationException: Unable to resolve service for type 'Microsoft.AspNet.Identity.IRoleStore`1[TestAsyncWebsite.Configuration.WrestleStatRole]' while attempting to activate 'Microsoft.AspNet.Identity.RoleManager`1[TestAsyncWebsite.Configuration.WrestleStatRole]'

Im Moment habe ich meine benutzerdefinierten Benutzer, Rollen, Benutzerspeicher, Rollenspeicher, Benutzermanager und Rolemanager wie folgt konfiguriert:

    public class WrestleStatUser : ApplicationUser
    {
        public WrestleStatUser() : base()
        {

        }
    }

    public class WrestleStatRole : IdentityRole
    {

    }

public class WrestleStatUserStore : IUserStore<WrestleStatUser>
{
   // all methods implemented
}

public class WrestleStatRoleStore : IRoleStore<WrestleStatRole>
{
   // all methods implemented
}

    public class WrestleStatUserManager : UserManager<WrestleStatUser>
    {
        public WrestleStatUserManager(IUserStore<WrestleStatUser> store, IOptions<IdentityOptions> optionsAccessor, IPasswordHasher<WrestleStatUser> passwordHasher, IEnumerable<IUserValidator<WrestleStatUser>> userValidators, IEnumerable<IPasswordValidator<WrestleStatUser>> passwordValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, IEnumerable<IUserTokenProvider<WrestleStatUser>> tokenProviders, ILogger<UserManager<WrestleStatUser>> logger, IHttpContextAccessor contextAccessor)
            : base(store, optionsAccessor, passwordHasher, userValidators, passwordValidators, keyNormalizer, errors, tokenProviders, logger, contextAccessor)
        {
        }
    }

public class WrestleStatRoleManager : RoleManager<WrestleStatRole>
{
    public WrestleStatRoleManager(IRoleStore<WrestleStatRole> store, IEnumerable<IRoleValidator<WrestleStatRole>> roleValidators, ILookupNormalizer keyNormalizer, IdentityErrorDescriber errors, ILogger<RoleManager<WrestleStatRole>> logger, IHttpContextAccessor contextAccessor) : base(store, roleValidators, keyNormalizer, errors, logger, contextAccessor)
    {
    }
}

Und hier ist meine startup.cs:

    services.AddIdentity<WrestleStatUser, WrestleStatRole>()
        .AddUserStore<WrestleStatUserStore>()
        .AddUserManager<WrestleStatUserManager>()
        //.AddRoleStore<RoleStore>()
        .AddRoleManager<WrestleStatRoleManager>()
        .AddDefaultTokenProviders();

Was fehle ich hier? Der Fehler sagt etwas über den RoleManager aus, ich habe meinen benutzerdefinierten RoleManager bereits definiert ...

Antworten auf die Frage(2)

Ihre Antwort auf die Frage