ASP.NET Identity kutubxonasini qo‘shish NuGet paketlaridan foydalanib, Identity bilan ishlash uchun kutubxonalarni tezda qo‘shish mumkin. Buni amalga oshirish uchun Paket menejeri konsoliga quyidagi buyruqlarni kiritish kerak:
Install-Package Microsoft.AspNet.Identity.EntityFramework –Version 2.0.0 Install-Package Microsoft.AspNet.Identity.OWIN -Version 2.0.0 Install-Package Microsoft.Owin.Host.SystemWeb -Version 2.1.0
Web.config faylini yangilash Identity bilan ishlashga tayyor bo‘lish uchun Web.config fayliga ikkita o‘zgartirish kiritish kerak. Birinchidan, oldin yaratilgan ma’lumotlar bazasiga ulanish satrini qo‘shish kerak. Ikkinchidan, OWIN modulini ishga tushiradigan klass nomini aniqlash kerak. Quyidagi misolda Web.config faylining tarkibi ko‘rsatilgan:
...
OWIN ASP.NET global klassi (HttpApplication-dan voris va Global.asax faylida aniqlangan) bilan bog‘liq bo‘lmagan, dasturni ishga tushirishning o‘ziga xos modelini belgilaydi. Yuqoridagi misolda owin:AppStartup parametrini uzatdik, u OWIN modulini ishga tushirishda uning konfiguratsiyasini olish uchun ishlatiladigan klassni belgilaydi.
Entity Framework uchun klasslar modeli. Membership API da mavjud bo‘lmagan ma’lumotlarni sozlash imkoniyati endi ASP.NET Identity-da mavjud, lekin Entity Framework ma’lumotlar bazasi bilan ishlashda foydalanadigan ma’lumotlar modellari sinfini qo‘lda yaratish kerak bo‘ladi.
Foydalanuvchi klassi. Veb dastur foydalanuvchisi obyektini tavsiflaydi. Ushbu klass Microsoft.AspNet.Identity.EntityFramework nomlari maydonida aniqlangan IdentityUser klassidan voris qilib yaratilishi kerak. IdentityUser foydalanuvchining voris klassiga xossalarni qo‘shish orqali kengaytirilishi mumkin. Quyidagi jadvalda IdentityUser-ning asosiy xossalari tasvirlangan:
Xossa
Tavsif
Claims(Tasdiq)
avtorizatsiya borasida qaror qabul qilishda foydalanilishi mumkin bo‘lgan foydalanuvchi to‘g‘risidagi qo‘shimcha ma’lumotlar. Ushbu ma’lumotlar tashqi manbalaridan, shuningdek lokal identifikatsiya ma’lumotlar bazasidan olinishi mumkin.
M-n: manbalardan olinadigan ma’lumot sifatida foydalanuvchining IP adresi, davlati, regioni, jinsi,
Microsoft.AspNet.Identity.EntityFramework nomlari maydonida aniqlangan klasslar Microsoft.AspNet.Identity nomlar maydoni interfeyslarining konkret tatbiqi. Masalan: IdentityUser klassi IUser interfeysini realizasiya qiladi.
Shuni ta’kidlash kerakki, IdentityUser klassi faqat foydalanuvchi to‘g‘risidagi asosiy ma’lumotlarni taqdim etadi: nomi, login, pochta va hokazo. Agar foydalanuvchi haqida biron bir qo‘shimcha ma’lumot kiritish kerak bo‘lsa, IdentityUser dan voris klassga qo‘shimcha xossalarni qo‘shish kerak bo‘ladi.
Ilovan uchun maxsus klass yaratish uchun AppUserModels.cs faylini Models papkasiga qo‘shing. Ushbu faylda quyidagi misolda ko‘rsatilgandek AppUser klassini yarating:
using System;
using Microsoft.AspNet.Identity.EntityFramework;
namespace Users.Models
{
public class AppUser : IdentityUser
{
// Foydalanuvchini ifodalovchi qo’shimcha xossalar shu yerda yaratiladi
}
}