Temukan paket nuget yang sesuai untuk DBMS Anda (misalnya: identity.dapper.sqlserver).
Untuk mengonfigurasi koneksi DBMS, Anda dapat menambahkan bagian DapperIdentity dan DapperIdentityCryptography ke file konfigurasi Anda seperti ini:
"DapperIdentity" : {
"ConnectionString" : " Connection string of your database " ,
"Username" : " user " ,
"Password" : " 123 "
},
"DapperIdentityCryptography" : {
"Key" : " Base64 32 bytes key " ,
"IV" : " Base64 16 bytes key "
} Contoh:
Kunci: "E546C8DF278CD5931069B522E695D4F2" (32 byte)
BASE64 KUNCI KODED: "rtu0nkm4reyynzhdrdu5mzewnjlcntiyrty5nuq0rji ="
IV: "Somereallycooliv" (16 byte)
Base64 dikodekan IV: "u29tzvjlywxseunvb2xjvg =="
Atau, Anda dapat menggunakan bagian default ConnectionStrings :
"ConnectionStrings" : {
"DefaultConnection" : " Connection string of your database "
}Atau Anda dapat menggunakan perintah rahasia pengguna:
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"
The DapperIdentity: Kata sandi dapat dienkripsi dengan AES256 menggunakan kunci dan IV yang disediakan.
Pada file startup.cs , buka ConfigureServices dan tambahkan baris berikut:
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "DapperIdentity" ) )
. ConfigureDapperIdentityCryptography ( Configuration . GetSection ( "DapperIdentityCryptography" ) ) ;
services . AddIdentity < DapperIdentityUser , DapperIdentityRole < int > > ( )
. AddDapperIdentityFor < T > ( )
. AddDefaultTokenProviders ( ) ;atau
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "ConnectionStrings" ) ) Di mana t untuk metode ConfigureDapperConnectionProvider adalah DBMSNameConnectionProvider (misalnya: SqlServerConnectionProvider ) dan t untuk metode AddDapperIdentityFor untuk DBMSNameConfiguration (mis: SqlServerConfiguration ).
Jika Anda ingin menggunakan transaksi untuk semua metode identitas, Anda harus menambahkan .ConfigureDapperIdentityOptions(new DapperIdentityOptions { UseTransactionalBehavior = true }) di bawah ini ConfigureDapperIdentityCryptography(Configuration.GetSection("DapperIdentityCryptography"));
Dan di dalam pengontrol Anda, Anda harus memasukkan pada konstruktor DapperUserStore<TUser, TKey, TUserRole, TRoleClaim, TUserClaim, TUserLogin, TRole> VARIABLE, seperti ini:
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 > ;
} Dan setelah semua operasi, Anda harus menghubungi metode DapperUserStore.SaveChanges() , jika tidak perubahan Anda akan dikembalikan.
Saat ini, hanya SQL Server, PostgreSQL dan MySQL yang didukung. Kami merencanakan dukungan untuk Oracle ketika perusahaan merilis versi inti .NET untuk implementasi System.data mereka.
Tentukan
services . AddIdentity < DapperIdentityUser < Guid > , DapperIdentityRole < Guid > > ( )
. AddDapperIdentityFor < T , Guid > ( ) ; Lulus kelas khusus yang mewarisi dari SqlServerConfiguration (atau lainnya)
public class CustomSqlServerConfiguration : SqlServerConfiguration
{
public CustomSqlServerConfiguration ( )
{
base . SchemaName = "[customSchema]" ;
}
}Dan tambahkan dengan
services . AddDapperIdentityFor < CustomSqlServerConfiguration > ( )