ابحث عن حزمة nuget المقابلة لـ DBMS الخاص بك (على سبيل المثال: Identity.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 ="
الرابع: "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: يمكن تشفير كلمة المرور باستخدام AES256 باستخدام المفتاح والرابع المقدمة.
على ملف startup.cs ، انتقل إلى ConfigureSics وأضف الأسطر التالية:
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 للطريقة ConfigureDapperConnectionProvider هو DBMSNameConnectionProvider (على سبيل المثال: SqlServerConnectionProvider ) و t للطريقة AddDapperIdentityFor هي DBMSNameConfiguration (على سبيل المثال: SqlServerConfiguration ).
إذا كنت ترغب في استخدام المعاملات لجميع طرق الهوية ConfigureDapperIdentityCryptography(Configuration.GetSection("DapperIdentityCryptography")); فسوف يتعين عليك إضافة .ConfigureDapperIdentityOptions(new DapperIdentityOptions { UseTransactionalBehavior = true })
وداخل وحدة التحكم الخاصة بك ، سيتعين عليك إدراج مُنشئ على DapperUserStore<TUser, TKey, TUserRole, TRoleClaim, TUserClaim, TUserLogin, TRole> variable ، مثل هذا:
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 فقط. نخطط للدعم لـ Oracle عندما تصدر الشركة إصدار .NET Core لتنفيذ System.Data.
حدد
services . AddIdentity < DapperIdentityUser < Guid > , DapperIdentityRole < Guid > > ( )
. AddDapperIdentityFor < T , Guid > ( ) ; تمرير فئة مخصصة ترث من SqlServerConfiguration (أو غيرها)
public class CustomSqlServerConfiguration : SqlServerConfiguration
{
public CustomSqlServerConfiguration ( )
{
base . SchemaName = "[customSchema]" ;
}
}وأضفه مع
services . AddDapperIdentityFor < CustomSqlServerConfiguration > ( )