Saltar al contenido

La tienda no implementa IUserRoleStore Identidad principal de ASP.NET

Después de mucho batallar hemos hallado el resultado de esta escollo que muchos usuarios de nuestra web han presentado. Si deseas aportar algún detalle puedes dejar tu comentario.

Solución:

En Startup.cs, me faltaba AddRoles, así que

services.AddDefaultIdentity()
    .AddEntityFrameworkStores();

debiera ser

services.AddDefaultIdentity()
    .AddRoles()
    .AddEntityFrameworkStores();

Nota: El orden es crítico. AddRoles debe venir antes AddEntityFrameworkStores

Porque no hay ninguna respuesta sobre la solución en asp.net Core 2.2me gustaría compartir el mismo error que encuentro en asp.net Core 2.2

Primero, aquí hay otra solución para el mismo error en asp.net core 2.1
https://github.com/aspnet/AspNetCore.Docs/issues/8683

Y gracias a la idea del autor, me encuentro con el problema cuando sigo la guía oficial en asp.net core 2.2 (la URL está aquí: MicrosoftDocs para asp.net core 2.2). Cuando termino el paso que dice e intento ejecutar el proyecto, arroja una excepción. “La tienda no implementa IUserRoleStore”

y el problema es: en realidad, esta es la muestra para asp.net core 2.1 (y dudo mucho que Microsoft proporcione a los usuarios documentos sin códigos de muestra, lo que probablemente no tenga sentido)

Y encontrarás que, en Areas/Identity/Data/IdentityHostingStartup.cs IdentityHostingStartup::Configure método tienes los siguientes codigos:

services.AddDefaultIdentity().AddEntityFrameworkStores();

que es lo mismo que el código que debe agregar /Program.cs ConfigureService como el paso: Agregar servicios de rol a la identidad en los documentos mencionados:

services.AddDefaultIdentity().AddRoles().AddEntityFrameworkStores();

entonces, si encuentra el mismo problema en asp.net core 2.2, una solución alternativa es:

  1. Siguiendo los documentos en asp.net 2.2
  2. Cuando te encuentres con este Capítulo: Agregar servicios de rol a la identidad simplemente ignore los documentos oficiales y hágalo:

reemplazar la fila

services.AddDefaultIdentity().AddEntityFrameworkStores();

con

services.AddDefaultIdentity().AddRoles().AddEntityFrameworkStores();

en Áreas/Identidad/Datos/IdentityHostingStartup.cs IdentityHostingStartup::Configure método, pero no lo agregue en program.cs (el archivo no se puede eliminar en asp.net core 2.2)

El proyecto que uso Asp.net Identity se actualizará más adelante en mis repositorios: UWPHelper, buena suerte 🙂

Reseñas y valoraciones de la guía

Si haces scroll puedes encontrar los informes de otros sys admins, tú igualmente puedes insertar el tuyo si te gusta.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *