La implementación más completa y cercana del almacén de usuarios y roles a la implementación original de EntityFramework, está bien documentada e incluye extensiones RavenDB muy útiles. Soporta .NET Estándar 2.0
Nota: Para el almacén de persistencia RavenDB v3.5, cambie la rama activa a
v3.x
ASP.NET Core Identity es un sistema de membresía que le permite agregar funcionalidad de inicio de sesión a su aplicación. Los usuarios pueden crear una cuenta e iniciar sesión con un nombre de usuario y contraseña o pueden utilizar un proveedor de inicio de sesión externo como Facebook, Google, cuenta de Microsoft, Twitter u otros. Puede configurar ASP.NET Core Identity para utilizar una base de datos RavenDB para almacenar nombres de usuario, contraseñas y datos de perfil.
PM> Install-Package Maqduni.AspNetCore.Identity.RavenDb
Nota: Las extensiones también se pueden instalar como un paquete independiente,
PM> Install-Package Maqduni.RavenDb.Extensions
Startup.cs
) Registrar DocumentAsyncSession
por cada solicitud HTTP se utiliza para almacenar usuarios/roles en la base de datos. Agrega internamente el DocumentStore
singleton.
public void ConfigureServices ( IServiceCollection services )
{
// Add ravendb services.
services . AddRavenDbAsyncSession ( Configuration . GetConnectionString ( "RavenDb" ) ) ;
services . AddIdentity < ApplicationUser , ApplicationRole > ( )
. AddRavenDbStores ( )
. AddDefaultTokenProviders ( ) ;
.. .
}
Nota:
DocumentStore
es un singleton y se crea una instanciaAsyncSession
por cada solicitud HTTP.- El índice
"{userCollectionName}/ClaimsAndLogins"
se crea al iniciar la aplicación si no existe en la base de datos. El proveedor de identidad se basa en este índice para permitir la búsqueda de usuarios por correo electrónico, nombre de usuario, reclamos e inicios de sesión.
Siéntase libre de contribuir al proyecto proporcionando comentarios, bifurcando y agregando nuevas funciones o corrigiendo errores.