DBMS用の対応するNUGETパッケージを見つけます(例:ID.Dapper.sqlServer)。
DBMS接続を構成するには、このような構成ファイルにDapperIdentityとDapperIdentityCryptographyセクションを追加できます。
"DapperIdentity" : {
"ConnectionString" : " Connection string of your database " ,
"Username" : " user " ,
"Password" : " 123 "
},
"DapperIdentityCryptography" : {
"Key" : " Base64 32 bytes key " ,
"IV" : " Base64 16 bytes key "
}例:
キー: "E546C8DF278CD5931069B522E695D4F2"(32バイト)
base64エンコードキー: "rtu0nkm4reyynzhdrdu5mzewnjlcntiyrty5nuq0rji ="
IV:「somereallycooliv」(16バイト)
base64エンコードIV: "U29TZVJLYWXSEUNVB2XJVG =="
または、 ConnectionStringsのデフォルトセクションを使用できます。
"ConnectionStrings" : {
"DefaultConnection" : " Connection string of your database "
}または、ユーザーSecretsコマンドを使用できます。
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"
Dapperidentity:パスワードは、提供されたキーとIVを使用してAES256で暗号化できます。
startup.csファイルで、 configureServicesに移動して、次の行を追加します。
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "DapperIdentity" ) )
. ConfigureDapperIdentityCryptography ( Configuration . GetSection ( "DapperIdentityCryptography" ) ) ;
services . AddIdentity < DapperIdentityUser , DapperIdentityRole < int > > ( )
. AddDapperIdentityFor < T > ( )
. AddDefaultTokenProviders ( ) ;または
services . ConfigureDapperConnectionProvider < T > ( Configuration . GetSection ( "ConnectionStrings" ) )メソッドのtのt ConfigureDapperConnectionProvider場合、 DBMSNameConnectionProvider (例: SqlServerConnectionProvider )およびtのtのtのtのtのtはDBMSNameConfiguration AddDapperIdentityFor例: SqlServerConfiguration )です。
IDのすべての方法にトランザクションを使用する場合は、 .ConfigureDapperIdentityOptions(new DapperIdentityOptions { UseTransactionalBehavior = true }) ConfigureDapperIdentityCryptography(Configuration.GetSection("DapperIdentityCryptography"));
コントローラー内では、コンストラクターにDapperUserStore<TUser, TKey, TUserRole, TRoleClaim, TUserClaim, TUserLogin, TRole>変数を挿入する必要があります。
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 > ;
}そして、すべての操作の後、 DapperUserStore.SaveChanges()メソッドを呼び出す必要があります。そうしないと、変更がロールバックされます。
現在、SQL Server、PostgreSQL、MySQLのみがサポートされています。 System.Data実装の.NETコアバージョンをリリースするときに、Oracleのサポートを計画します。
指定します
services . AddIdentity < DapperIdentityUser < Guid > , DapperIdentityRole < Guid > > ( )
. AddDapperIdentityFor < T , Guid > ( ) ; SqlServerConfiguration (またはその他)から継承するカスタムクラスを渡す
public class CustomSqlServerConfiguration : SqlServerConfiguration
{
public CustomSqlServerConfiguration ( )
{
base . SchemaName = "[customSchema]" ;
}
}そしてそれを追加します
services . AddDapperIdentityFor < CustomSqlServerConfiguration > ( )