DBMS에 해당하는 Nuget 패키지를 찾으십시오 (예 : Identity.dapper.sqlserver).
DBMS 연결을 구성하려면 구성 파일에 DapperIdentity 및 DapperIndityCryptography 섹션을 추가 할 수 있습니다.
"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 "
}또는 사용자 비밀 명령을 사용할 수 있습니다.
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" ) ) 메소드 ConfigureDapperConnectionProvider 에 대한 t 는 DBMSNameConnectionProvider (예 : SqlServerConnectionProvider )이고 AddDapperIdentityFor 는 DBMSNameConfiguration (예 : SqlServerConfiguration )입니다.
모든 정체성 방법에 대한 트랜잭션을 사용하려면 ConfigureDapperIdentityCryptography(Configuration.GetSection("DapperIdentityCryptography")); .ConfigureDapperIdentityOptions(new DapperIdentityOptions { UseTransactionalBehavior = true }) 를 추가해야합니다.
그리고 컨트롤러 내부에서는 생성자에 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 Core 버전을 출시 할 때 Oracle에 대한 지원을 계획합니다.
지정하십시오
services . AddIdentity < DapperIdentityUser < Guid > , DapperIdentityRole < Guid > > ( )
. AddDapperIdentityFor < T , Guid > ( ) ; SqlServerConfiguration (또는 기타)에서 상속되는 사용자 정의 클래스를 통과하십시오.
public class CustomSqlServerConfiguration : SqlServerConfiguration
{
public CustomSqlServerConfiguration ( )
{
base . SchemaName = "[customSchema]" ;
}
}그리고 그것을 추가하십시오
services . AddDapperIdentityFor < CustomSqlServerConfiguration > ( )