15-mavzu: Veb autentifikatsiya va identifikatsiya



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

...

...
IdentityConfig.cs klass faylini App_start papkasiga quyidagi tarkib bilan qo‘shing:
using Microsoft.AspNet.Identity;
using Microsoft.Owin;
using Microsoft.Owin.Security.Cookies;
using Owin;
using Users.Infrastructure;

namespace Users


{
public class IdentityConfig
{
public void Configuration(IAppBuilder app)
{
app.CreatePerOwinContext(AppIdentityDbContext.Create);
app.CreatePerOwinContext(AppUserManager.Create);

app.UseCookieAuthentication(new CookieAuthenticationOptions


{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login"),
});
}
}
}

UseCookieAuthentication metodi Identity tizimiga foydalanuvchilarni avtorizatsiya qilish uchun cookie-dan foydalanishni ko‘rsatadi, parametrlar CookieAuthenticationOptions obyekti orqali uzatiladi. Bu yerda eng muhim sozlash – bu autentifikatsiya qilinmagan foydalanuvchi avtorizatsiyani talab qiladigan resursga murojaat qilganda yo‘naltiriladigan URL manzilini ko‘rsatadigan LoginPath xossasini sozlash.


Foydalanuvchilar ro‘yxati. Quyidagi misolda ko‘rsatilgan loyihaga Admin Controller-ini qo‘shing. Kelgusida ushbu Controller-da foydalanuvchilarni boshqarishning barcha funksiyalarini aniqlaymiz.
using System.Web;
using System.Web.Mvc;
using Users.Infrastructure;
using Microsoft.AspNet.Identity.Owin;

namespace Users.Controllers


{
public class AdminController : Controller
{
public ActionResult Index()
{
return View(UserManager.Users);
}

private AppUserManager UserManager


{
get
{
return HttpContext.GetOwinContext().GetUserManager();
}
}
}
}
“Index” metodida foydalanuvchilar ro‘yxati View-da ishlatilish uchun Users xossaining qiymatini View() metodiga uzatamiz. Quyidagi misolda Views/Admin/Index.cshtml View faylining tarkibini ko‘rsatadi. Controller metodi nomining ustida sichqonchaning o‘ng tugmachasini bosib, kontekst menyusidan View-ni qo‘shish mumkin.
@using Users.Models
@model IEnumerable

@{
ViewBag.Title = "ASP.NET Identity";


}




Foydalanuvchilar







@if (Model.Count() == 0)
{



}
else
{
foreach (AppUser user in Model)
{





}
}
Id Login Email
Bironta ham foydalanuvchi yo’q.
@user.Id @user.UserName @user.Email


@Html.ActionLink("Yaratish", "Create", null, new { @class = "btn btn-primary" })


Parollarni tekshirish. Eng keng tarqalgan talablardan biri, bu ayniqsa korporativ dasturlarini ishlab chiqishda, foydalanuvchilar parollarining murakkabligini nazorat qilishdir. ASP.NET Identity parolning murakkabligini tekshirishni ta’minlash uchun quyidagi jadvalda keltirilgan xossalardan foydalangan holda sozlash imkoni beradigan PasswordValidator klassini taqdim etadi.

Nomi

Tavsif

RequiredLength

Parolning minimal uzunligi

RequireNonLetterOrDigit

Agar true bo‘lsa, harf va raqamlardan tashqari kamida bitta simvol talab qilinadi

RequireDigit

Agar true bo‘lsa, kamida bitta raqam talab qilinadi

RequireLowercase

Agar true bo‘lsa, kamida bitta kichik harf talab qilinadi

RequireUppercase

Agar true bo‘lsa, kamida bitta katt harf talab qilinadi

PasswordValidator-ni sozlash:


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));

manager.PasswordValidator = new PasswordValidator


{
RequiredLength = 6,
RequireNonLetterOrDigit = false,
RequireDigit = false,
RequireLowercase = true,
RequireUppercase = true
};
return manager;
}
}
}

ASP.NET MVC foydalanuvchilarning ruxsatsiz kirishini cheklash uchun kontroller va metodlarga nisbatan qo‘llaniladigan avtorizatsiya atributidan foydalaniladi:


using System.Collections.Generic;
using System.Web.Mvc;

namespace Users.Controllers


{
public class HomeController : Controller
{
[Authorize]
public ActionResult Index()
{
Dictionary data = new Dictionary();
data.Add("kalit", "qiymat");
return View(data);
}
}
}
ASP.NET foydalanuvchi so‘rovining holatini tekshirish va foydalanuvchi haqiqiyligini tekshirish uchun HttpContext obyektida foydalanuvchi haqida kerakli ma’lumotlarni beradi. HttpContext.User xossasi System.Security.Principal nomlar maydonida aniqlangan IPrincipal interfeysning tatbiqini qaytaradi. IPrincipal interfeysi quyidagi jadvalda keltirilgan xossalar va metodlarga ega:

Nomi

Tavsifi

Identity

IIdentity interfeysi tatbiqini qaytaradi, unda so‘rovni amalga oshirgan foydalanuvchi haqida ma’lumot bo‘ladi

IsInRole(role)

Foydalanuvchi ko‘rsatilgan rolga ega ekanligi aniqlash




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