Наиболее полная и близкая реализация хранилища пользователей и ролей к исходной реализации EntityFramework, она хорошо документирована и включает очень полезные расширения RavenDB. Поддерживает .NET Стандарт 2.0.
Примечание. Для постоянного хранилища RavenDB v3.5 переключите активную ветку на
v3.x
ASP.NET Core Identity — это система членства, которая позволяет вам добавлять в приложение функции входа в систему. Пользователи могут создать учетную запись и войти в систему, используя имя пользователя и пароль, или они могут использовать внешнего поставщика входа, такого как Facebook, Google, учетная запись Microsoft, Twitter или другие. Вы можете настроить ASP.NET Core Identity для использования базы данных RavenDB для хранения имен пользователей, паролей и данных профиля.
PM> Install-Package Maqduni.AspNetCore.Identity.RavenDb
Примечание. Расширения также можно установить как отдельный пакет.
PM> Install-Package Maqduni.RavenDb.Extensions
Startup.cs
) Регистрируйте DocumentAsyncSession
для каждого HTTP-запроса, который используется для хранения пользователей/ролей в базе данных. Добавляет одноэлементное DocumentStore
внутри.
public void ConfigureServices ( IServiceCollection services )
{
// Add ravendb services.
services . AddRavenDbAsyncSession ( Configuration . GetConnectionString ( "RavenDb" ) ) ;
services . AddIdentity < ApplicationUser , ApplicationRole > ( )
. AddRavenDbStores ( )
. AddDefaultTokenProviders ( ) ;
.. .
}
Примечание:
DocumentStore
является одноэлементным, и экземплярAsyncSession
создается для каждого HTTP-запроса.- Индекс
"{userCollectionName}/ClaimsAndLogins"
создается при запуске приложения, если он не существует в базе данных. Поставщик удостоверений использует этот индекс, чтобы обеспечить поиск пользователей по электронной почте, имени пользователя, утверждениям и логинам.
Не стесняйтесь вносить свой вклад в проект, оставляя отзывы, разветвляясь и добавляя новые функции или исправляя ошибки.