WebPages xavfsizligi


ULASHISH

Tavsif

WebSecurity obyekti ASP.NET Web Pages ilovalari uchun xavfsizlik va autentifikatsiyani ta’minlaydi.

WebSecurity obyekti yordamida foydalanuvchi hisoblarini yaratish, foydalanuvchilarni tizimga kiritish va tizimdan chiqarish, parollarni tiklash yoki o‘zgartirish va boshqa amallarni bajarish mumkin.


WebSecurity obyekti ma’lumotnomasi - xususiyatlar

Xususiyatlar Tavsif
CurrentUserIdJoriy foydalanuvchining ID’sini oladi
CurrentUserName Joriy foydalanuvchining nomini oladi
HasUserId Agar joriy foydalanuvchida foydalanuvchi ID’si bo‘lsa, true qaytaradi
IsAuthenticated Agar joriy foydalanuvchi tizimga kirgan bo‘lsa, true qaytaradi

WebSecurity obyekti ma’lumotnomasi - metodlar

Metod Tavsif
ChangePassword() Foydalanuvchi parolini o‘zgartiradi
ConfirmAccount() Tasdiqlash tokeni yordamida hisobni tasdiqlaydi
CreateAccount() Yangi foydalanuvchi hisobini yaratadi
CreateUserAndAccount() Yangi foydalanuvchi hisobini yaratadi
GeneratePasswordResetToken() Foydalanuvchiga elektron pochta orqali yuborilishi mumkin bo‘lgan token yaratadi
GetCreateDate() Ko‘rsatilgan a’zolik yaratilgan vaqtni oladi
GetPasswordChangeDate() Parol o‘zgartirilgan sana va vaqtni oladi
GetUserId() Foydalanuvchi nomi bo‘yicha foydalanuvchi ID’sini oladi
InitializeDatabaseConnection() WebSecurity tizimini (ma’lumotlar bazasini) initsializatsiya qiladi
IsConfirmed() Foydalanuvchi tasdiqlanganligini tekshiradi
IsCurrentUser() Joriy foydalanuvchi berilgan foydalanuvchi nomiga mos kelishini tekshiradi
Login() Cookie’ga token o‘rnatish orqali foydalanuvchini tizimga kiritadi
Logout() Token cookie’sini o‘chirish orqali foydalanuvchini tizimdan chiqaradi
RequireAuthenticatedUser() Agar foydalanuvchi autentifikatsiyadan o‘tmagan bo‘lsa, sahifadan chiqadi
RequireRoles() Agar foydalanuvchi ko‘rsatilgan rollarga tegishli bo‘lmasa, sahifadan chiqadi
RequireUser() Agar foydalanuvchi ko‘rsatilgan foydalanuvchi bo‘lmasa, sahifadan chiqadi
ResetPassword() Token yordamida foydalanuvchi parolini o‘zgartiradi
UserExists() Berilgan foydalanuvchi mavjudligini tekshiradi


WebSecurity ma’lumotlar bazasini initsializatsiya qilish

Kodingizda WebSecurity obyektidan foydalanishdan oldin WebSecurity ma’lumotlar bazasini yaratishingiz yoki initsializatsiya qilishingiz kerak.

Saytingizning ildiz papkasida _AppStart.cshtml nomli sahifa yarating (yoki mavjud sahifani tahrirlang).

Fayl ichiga quyidagi kodni joylashtiring:

_AppStart.cshtml

@{ WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true); }

Yuqoridagi kod veb-sayt (ilova) har safar ishga tushganda bajariladi. U WebSecurity ma’lumotlar bazasini initsializatsiya qiladi.

"Users" — WebSecurity ma’lumotlar bazasining nomi (Users.sdf).

"UserProfile" — foydalanuvchi profili ma’lumotlarini saqlaydigan ma’lumotlar bazasi jadvalining nomi.

"UserId" — foydalanuvchi ID’larini saqlaydigan ustunning nomi (birlamchi kalit).

"Email" — foydalanuvchi nomlarini saqlaydigan ustunning nomi.

Oxirgi true parametri boolean qiymat bo‘lib, foydalanuvchi profili va a’zolik jadvallari mavjud bo‘lmasa, ular avtomatik yaratilishi kerakligini bildiradi, aks holda false beriladi.

true ma’lumotlar bazasi jadvallarining avtomatik yaratilishini bildirsa-da, ma’lumotlar bazasining o‘zi avtomatik yaratilmaydi. U mavjud bo‘lishi shart.


WebSecurity ma’lumotlar bazasi

UserProfile jadvalida har bir foydalanuvchi uchun bittadan yozuv bo‘lib, unda foydalanuvchi ID’si (birlamchi kalit) va foydalanuvchi nomi (elektron pochtasi) saqlanadi:

UserId Email
1 john@johnson.net
2  peter@peterson.com
3 lars@larson.eut

Membership jadvalida foydalanuvchi qachon yaratilgani hamda a’zolik tasdiqlangan-tasdiqlanmagani (va qachon tasdiqlangani) haqidagi a’zolik ma’lumotlari saqlanadi.

Taxminan quyidagicha (ba’zi ustunlar ko‘rsatilmagan):

User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
Password Password
Change
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Simple Membership konfiguratsiyasi

Agar saytingiz ASP.NET Web Pages’ning SimpleMembership a’zolik tizimidan foydalanishga sozlanmagan bo‘lsa, WebSecurity obyektidan foydalanishda xatolarga duch kelishingiz mumkin.

Bu xosting provayderining serveri lokal serveringizdan farqli sozlangan bo‘lsa yuz berishi mumkin. Buni tuzatish uchun saytning Web.config fayliga quyidagi elementni qo‘shing:

<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!