L'implémentation la plus complète et la plus proche du magasin d'utilisateurs et de rôles de l'implémentation originale d'EntityFramework, elle est bien documentée et comprend des extensions RavenDB très utiles. Prend en charge la norme .NET 2.0
Remarque : Pour le magasin de persistance RavenDB v3.5, basculez la branche active vers
v3.x
ASP.NET Core Identity est un système d'adhésion qui vous permet d'ajouter une fonctionnalité de connexion à votre application. Les utilisateurs peuvent créer un compte et se connecter avec un nom d'utilisateur et un mot de passe ou utiliser un fournisseur de connexion externe tel que Facebook, Google, un compte Microsoft, Twitter ou autres. Vous pouvez configurer ASP.NET Core Identity pour utiliser une base de données RavenDB pour stocker les noms d'utilisateur, les mots de passe et les données de profil.
PM> Install-Package Maqduni.AspNetCore.Identity.RavenDb
Remarque : Les extensions peuvent également être installées en tant que package autonome.
PM> Install-Package Maqduni.RavenDb.Extensions
Startup.cs
) Enregistrez DocumentAsyncSession
pour chaque requête HTTP, est utilisé pour stocker les utilisateurs/rôles dans la base de données. Ajoute le singleton DocumentStore
en interne.
public void ConfigureServices ( IServiceCollection services )
{
// Add ravendb services.
services . AddRavenDbAsyncSession ( Configuration . GetConnectionString ( "RavenDb" ) ) ;
services . AddIdentity < ApplicationUser , ApplicationRole > ( )
. AddRavenDbStores ( )
. AddDefaultTokenProviders ( ) ;
.. .
}
Note:
DocumentStore
est un singleton etAsyncSession
est instancié à chaque requête HTTP.- L'index
"{userCollectionName}/ClaimsAndLogins"
est créé au démarrage de l'application s'il n'existe pas dans la base de données. Le fournisseur d'identité s'appuie sur cet index pour permettre la recherche d'utilisateurs par e-mail, nom d'utilisateur, revendications et connexions.
N'hésitez pas à contribuer au projet en fournissant des commentaires, en créant et en ajoutant de nouvelles fonctionnalités ou en corrigeant des bugs.