15-mavzu: Veb autentifikatsiya va identifikatsiya



Download 1,68 Mb.
bet3/14
Sana09.06.2022
Hajmi1,68 Mb.
#646265
1   2   3   4   5   6   7   8   9   ...   14
Bog'liq
autentifikatsiya, avtorizatsiya, seanslar

Ma’lumotlar bazasi kontekst klassini yaratish. Keyingi qadam AppUser bilan ishlaydigan Entity Framework uchun ma’lumotlar bazasi kontekstini yaratishdir. Code-First yondashuv bilan ishlashda bu odatiy amaliyotdir – ma’lumotlar bazasini yaratish va boshqarish, ma’lumotlarga murojaatni ta’minlash uchun C # klasslarini aniqlaymiz. Kontekst klassi IdentityDbContext – dan voris bo‘lishi kerak, bu erda T – foydalanuvchini tavsiflaydigan klass (bizning holatlarimizda AppUser). Loyihada Infrastructure papkasini yarating va AppIdentityDbContext.cs deb nomlangan klass faylini qo‘shing, uning kodi quyidagi misolda ko‘rsatilgan:
using Users.Models;
using System.Data.Entity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace Users.Infrastructure


{
public class AppIdentityDbContext : IdentityDbContext
{
public AppIdentityDbContext() : base("name=IdentityDb") { }
static AppIdentityDbContext()
{
Database.SetInitializer(new IdentityDbInit());
}

public static AppIdentityDbContext Create()


{
return new AppIdentityDbContext();
}
}

public class IdentityDbInit


: DropCreateDatabaseIfModelChanges
{
protected override void Seed(AppIdentityDbContext context)
{
PerformInitialSetup(context);
base.Seed(context);
}
public void PerformInitialSetup(AppIdentityDbContext context)
{
// sozlamalar shu yerda sozlanadi
}
}
}
Misoldagi AppIdentityDbContext klassi uchun konstruktor, Web.config fayliga oldin aniqlangan ma’lumotlar bazasiga ulanish satri nomini qabul qiladi.
Foydalanuvchilarni boshqarish klassini yaratish. Identity da eng muhim klasslardan biri bu foydalanuvchilarni boshqarish klassidir, ushbu klass UserManager dan voris olinib yaratilishi kerak, bu yerda T – foydalanuvchini anglatadigan klass. UserManager klassi Entity Framework ning bir qismi emas, u foydalanuvchi ma’lumotlarini yaratish va foydalanishning umumiy xususiyatlarini tavsiflaydi. Quyidagi jadvalda UserManager klassining asosiy metodlari va xossalari ko‘rsatilgan. Jadvalda qayd etilmagan bu klassning yana bir nechta a’zolari bor.

Nomi

Tavsifi

ChangePasswordAsync(id, old, new)

Foydalanuvchining parolini o‘zgartirish

CreateAsync(user)

Foydalanuvchini yaratish

CreateAsync(user, pass)

Foydalanuvchini parole bilan birga yaratish

DeleteAsync(user)

Foydalanuvchini o‘chirish

FindAsync(user, pass)

Foydalanuvchini login va parole bo‘yicha qidirish

FindByIdAsync(id)

Foydalanuvchi Id si bo‘yicha qidirish

FindByNameAsync(name)

Foydalanuvchini nomi bo‘yicha qidirish

UpdateAsync(user)

Foydalanuvchi ma’lumotlarini yangilash

Users

Foydalanuvchilar ro‘yxatini qaytarish xossasi

Shunday qilib, AppUserManager.cs klass faylini loyihaning Infrastructure papkasiga quyidagi tarkib bilan qo‘shing:


using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;
using Microsoft.AspNet.Identity.Owin;
using Microsoft.Owin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Users.Models;

namespace Users.Infrastructure


{
public class AppUserManager : UserManager
{
public AppUserManager(IUserStore store)
: base(store)
{ }

public static AppUserManager Create(IdentityFactoryOptions options,


IOwinContext context)
{
AppIdentityDbContext db = context.Get();
AppUserManager manager = new AppUserManager(new UserStore(db));
return manager;
}
}
}

Statik Create() metodi Identity ning foydalanuvchi ma’lumotlari bilan ishlashiga zaruriyati tug‘ilganida AppUserManager klassining obyektini yaratadi.


AppUserManager klassini ishga tushirish uchun UserStore obyekti kerak. UserStore klassi Entity Frameworkdagi IUserStore interfeysini realizasiya qiladi, unda ma’lumotlar bazasi bilan ishlash uchun CRUD metodlarini (yaratish/o‘qish/yangilash/o‘chirish) aniqlangan. UserStore -ni yaratish uchun OWIN orqali olinadigan AppIdentityDbContext klassining obyekti kerak:
//...
AppIdentityDbContext db = context.Get();
//...

OWIN ni ishga tushirish klassini yaratish. Identity kutubxonasini sozlash uchun kerak bo‘ladigan oxirgi amal bu OWIN-ni ishga tushirish klassini yaratishdir. Oldin Web.config faylida OWIN-ni ishga tushirish klassini nomiga ishora qiladigan dastur parametrini aniqlagan edik:



Download 1,68 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6   7   8   9   ...   14




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish