Suchen Sie das entsprechende Nuget -Paket für Ihr DBMS (z. B. Identity.dapper.sqlServer).
Um die DBMS -Verbindung zu konfigurieren, können Sie Ihrer Konfigurationsdatei wie folgt eine Dapperidentität und einen DapperidentityCryptography -Abschnitt hinzufügen:
"DapperIdentity" : {
"ConnectionString" : " Connection string of your database " ,
"Username" : " user " ,
"Password" : " 123 "
},
"DapperIdentityCryptography" : {
"Key" : " Base64 32 bytes key " ,
"IV" : " Base64 16 bytes key "
} Beispiel:
Schlüssel: "E546C8DF278CD5931069B522E695D4F2" (32 Bytes)
Base64 codierter Schlüssel: "
IV: "SomereallyCooliv" (16 Bytes)
Base64 Coded IV: "U29TZVJLYWXSEUNVB2XJVG =="
Alternativ können Sie den Standardabschnitt ConnectionStrings verwenden:
"ConnectionStrings" : {
"DefaultConnection" : " Connection string of your database "
}Oder Sie können die Befehle der Benutzergeheimnisse verwenden:
dotnet user-secrets set DapperIdentity:ConnectionString "Connection string of your database"
dotnet user-secrets set DapperIdentity:Password "123"
dotnet user-secrets set DapperIdentity:Username "user"
dotnet user-secrets set DapperIdentityCryptography:Key "Base64 32 bytes key"
dotnet user-secrets set DapperIdentityCryptography:IV "Base64 16 bytes key"
Die Dapperidentität: Passwort kann mit AES256 mit dem bereitgestellten Schlüssel und der IV verschlüsselt werden.
Gehen Sie in der Datei startup.cs zu configureservices und fügen Sie die folgenden Zeilen hinzu:
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "DapperIdentity" ) )
. ConfigureDapperIdentityCryptography ( Configuration . GetSection ( "DapperIdentityCryptography" ) ) ;
services . AddIdentity < DapperIdentityUser , DapperIdentityRole < int > > ( )
. AddDapperIdentityFor < T > ( )
. AddDefaultTokenProviders ( ) ;oder
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "ConnectionStrings" ) ) Wobei t DBMSNameConfiguration die AddDapperIdentityFor ConfigureDapperConnectionProvider DBMSNameConnectionProvider SqlServerConfiguration z SqlServerConnectionProvider
Wenn Sie Transaktionen zu allen Identitätsmethoden verwenden möchten, müssen Sie .ConfigureDapperIdentityOptions(new DapperIdentityOptions { UseTransactionalBehavior = true }) unten hinzufügen ConfigureDapperIdentityCryptography(Configuration.GetSection("DapperIdentityCryptography"));
Und in Ihrem Controller müssen Sie einen DapperUserStore<TUser, TKey, TUserRole, TRoleClaim, TUserClaim, TUserLogin, TRole> Variable wie folgt einfügen:
private readonly DapperUserStore < CustomUser , int , DapperIdentityUserRole < int > , DapperIdentityRoleClaim < int > , DapperIdentityUserClaim < int > , DapperIdentityUserLogin < int > , CustomRole > _dapperStore ;
.. .
public ManageController ( IUserStore < CustomUser > dapperStore )
{
_dapperStore = dapperStore as DapperUserStore < CustomUser , int , DapperIdentityUserRole < int > , DapperIdentityRoleClaim < int > , DapperIdentityUserClaim < int > , DapperIdentityUserLogin < int > , CustomRole > ;
} Und nach allen Vorgängen müssen Sie DapperUserStore.SaveChanges() -Methode anrufen, andernfalls werden Ihre Änderungen zurückgeführt.
Derzeit werden nur SQL Server, PostgreSQL und MySQL unterstützt. Wir planen die Unterstützung für Oracle, wenn das Unternehmen die .NET -Core -Version für das System der Systeme veröffentlicht.
Geben Sie die an
services . AddIdentity < DapperIdentityUser < Guid > , DapperIdentityRole < Guid > > ( )
. AddDapperIdentityFor < T , Guid > ( ) ; Übergeben Sie eine benutzerdefinierte Klasse, die von SqlServerConfiguration (oder anderen) erbt
public class CustomSqlServerConfiguration : SqlServerConfiguration
{
public CustomSqlServerConfiguration ( )
{
base . SchemaName = "[customSchema]" ;
}
}Und fügen Sie es mit hinzu
services . AddDapperIdentityFor < CustomSqlServerConfiguration > ( )