Die vollständigste Implementierung des Benutzer- und Rollenspeichers kommt der ursprünglichen EntityFramework-Implementierung am nächsten. Sie ist gut dokumentiert und enthält sehr nützliche RavenDB-Erweiterungen. Unterstützt .NET Standard 2.0
Hinweis: Für den Persistenzspeicher RavenDB v3.5 wechseln Sie den aktiven Zweig auf
v3.x
ASP.NET Core Identity ist ein Mitgliedschaftssystem, mit dem Sie Ihrer Anwendung Anmeldefunktionen hinzufügen können. Benutzer können ein Konto erstellen und sich mit einem Benutzernamen und einem Passwort anmelden oder einen externen Anmeldeanbieter wie Facebook, Google, Microsoft-Konto, Twitter oder andere verwenden. Sie können ASP.NET Core Identity so konfigurieren, dass eine RavenDB-Datenbank zum Speichern von Benutzernamen, Kennwörtern und Profildaten verwendet wird.
PM> Install-Package Maqduni.AspNetCore.Identity.RavenDb
Hinweis: Erweiterungen können auch als eigenständiges Paket installiert werden.
PM> Install-Package Maqduni.RavenDb.Extensions
Startup.cs
) Registrieren Sie DocumentAsyncSession
für jede HTTP-Anfrage und werden zum Speichern von Benutzern/Rollen in der Datenbank verwendet. Fügt den Singleton DocumentStore
intern hinzu.
public void ConfigureServices ( IServiceCollection services )
{
// Add ravendb services.
services . AddRavenDbAsyncSession ( Configuration . GetConnectionString ( "RavenDb" ) ) ;
services . AddIdentity < ApplicationUser , ApplicationRole > ( )
. AddRavenDbStores ( )
. AddDefaultTokenProviders ( ) ;
.. .
}
Notiz:
DocumentStore
ist ein Singleton undAsyncSession
wird bei jeder HTTP-Anfrage instanziiert.- Der Index
"{userCollectionName}/ClaimsAndLogins"
wird beim Start der Anwendung erstellt, wenn er nicht in der Datenbank vorhanden ist. Der Identitätsanbieter verlässt sich auf diesen Index, um die Benutzersuche nach E-Mail, Benutzername, Ansprüchen und Anmeldungen zu ermöglichen.
Fühlen Sie sich frei, zum Projekt beizutragen, indem Sie entweder Feedback geben oder neue Funktionen forken und hinzufügen oder Fehler beheben.