Administrator paneli: kataloglarni boshqarish


Kirish web-formasini yaratish



Download 271,02 Kb.
bet8/8
Sana31.12.2021
Hajmi271,02 Kb.
#216773
1   2   3   4   5   6   7   8
Bog'liq
Amaliyot Internet magazin yaratish 8

Kirish web-formasini yaratish

Biz foydalanuvchilarga GameStore dasturida foydalanuvchi nomi va parol yordamida amalga oshiriladigan autentifikatsiya qilish imkoniyatini berishimiz kerak. Pages papkasida Login.aspx nomli yangi web-forma yaratdik. Ushbu web-forma uchun Web Form Using Master Page shabloni tanlangan va master-sahifani \ Pages \ Admin \ Admin.Master-ni ko'rsatilgan. Login.aspx Web-fromaning kodi quyida keltirilgan:



HTML

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Login.aspx.cs" Inherits="GameStore.Pages.Login"

MasterPageFile="~/Pages/Admin/Admin.Master" %>



























Kirish sahifasi sifatida ishlatiladigan web-forma himoyalangan papkadan tashqarida yaratilganligiga e'tibor bering. Bu autentifikatsiya jarayonini sozlash va boshqarishni papkada joylashgan fayllardan bittasidan boshqasini himoyalashga qaraganda ancha osonlashtiradi.

Yaratilgan veb-shakl juda sodda bo'lib, foydalanuvchi nomi va parolini kiritish uchun kirish elementlarini hamda serverga formani yuborish uchun "Kirish" tugmachasini o'z ichiga oladi. Modellarga kirish xato xabarlarini osongina namoyish qilishimiz uchun biz ValidationSummary boshqaruvini qo'shdik. Quyidagi misolda forma yuborishni boshqaradigan \ Pages \ Login.aspx.cs fayl kodi ko'rsatilgan:

C#

using System;

using System.Web.Security;
namespace GameStore.Pages

{

public partial class Login : System.Web.UI.Page



{

protected void Page_Load(object sender, EventArgs e)

{
if (IsPostBack)

{

string name = Request.Form["name"];



string password = Request.Form["password"];

if (name != null && password != null

&& FormsAuthentication.Authenticate(name, password))

{

FormsAuthentication.SetAuthCookie(name, false);



Response.Redirect(Request["ReturnUrl"] ?? "/");

}

else



{

ModelState.AddModelError("fail", "Логин или пароль не правильны." +

"Пожалуйста введите данные заново");

}

}



}

}

}



Request.Form to'plami foydalanuvchi tomonidan nom va parol uchun kiritilgan qiymatlarni olish uchun ishlatiladi va tasdiqlash FormsAuthentication.Authenticate () usuli yordamida tekshiriladi.

Agar siz ushbu misolni Visual Studio-da takrorlasangiz, FormsAuthentication.Authenticate () usuli bekor qilinganligi haqida ogohlantirish olasiz. Bu haqda tashvishlanmang - bizga oddiy autentifikatsiya tizimi kerak. Murakkab autentifikatsiya tizimi bu Membership API.

Agar Authenticate () usuli TRUE qiymatini qaytarsa, biz SetAuthCookie () usulini foydalanuvchiga keyingi autentifikatsiyani talab qilmasdan keyingi so'rovlarni yuborishiga imkon beradigan cookie-fayllar to'plamini qo'shish uchun chaqiramiz. (SetAuthCookie () usuli ikkinchi argumentda FALSE qiymati beriladi, ya'ni autentifikatsiya faqat foydalanuvchi seansi davomida amal qiladi - bu sinov paytida ayniqsa foydalidir, chunki har qanday tasdiqlangan seansni qayta boshlash orqali bekor qilishingiz mumkin.) Cookie-fayl yaratilgandan so'ng, foydalanuvchini ReturnUrl xususiyati tomonidan taqdim etilgan URL manziliga yo'naltirish uchun Response.Redirect () usulini chaqiramiz. Autentifikatsiya zarur bo'lganda, bu ASP.NET Framework tomonidan o'rnatiladi - qisqa vaqt ichida qanday ishlashini ko'rib chiqamiz

Agar Authenticate () usuli false qiymatini qaytarsa, demak foydalanuvchi noto'g'ri hisob ma'lumotlarini taqdim etgan. Ushbu vaziyatni ModelSate.AddModelError () usulini chaqirish orqali hal qilamiz, bu javobga web-forma ichida aniqlangan ValidationSummary boshqaruvida ko'rsatiladigan xabarni qo'shadi.

Autentifikatsiyada hatolik bo'lgan vaziyatni sinovdan o'kazish.

Biz ASP.NET Framework-ni tasdiqlash uchun hech qanday maxsus hisobga olish ma'lumotlarini aniqlamadik, shuning uchun har qanday autentifikatsiya urinishlari muvaffaqiyatsiz bo'ladi. autentifikatsiya konfiguratsiyasini qanday ishlashini ko'rish uchun dasturni ishga tushiring. Agar siz / admin / orders yoki admin / games kabi URL manziliga kirsangiz, siz Login.aspx web-formasiga yo'naltirilasiz, bu sizning foydalanuvchi nomingiz va parolingizni kiritishingizni talab qiladi. Kirish tugmachasini bosish quyidagi rasmda ko'rsatilgandek formani yuboradi va xato haqida xabar beradi:



Agar brauzer yo'naltirilgan URL ga qarasangiz, dastlab so'ralgan URL so'rovlar qatoriga kiritilganligini ko'rasiz. Shuningdek, ushbu URL manzil sxemasiga mos kelmasligini sezasiz. ASP.NET Framework-ning autentifikatsiya qilish va avtorizatsiya qilish uchun o'rnatilgan qo'llab-quvvatlashi nisbatan so'nggi marshrutlash mexanizmi bilan yaxshi ishlamaydi.

Autentifikatsiya va avtorizatsiya muvaffaqiyatli bo'lganligini sinovdan o'tkazish

Biz Web.config faylida hisobga olish ma'lumotlarini aniqlaymiz. Ushbu yondashuv hech qachon haqiqiy loyihada qo'llanilmaydi, chunki u juda yomon masshtablashgan ega va foydalanuvchilarga ma'lumotlarini o'zgartirishga imkon bermaydi. Biroq, GameStore namunaviy dasturida biz avtorizatsiya qanday ishlashini namoyish qilish uchun faqat bitta foydalanuvchi uchun hisobga olish ma'lumotlariga muhtojmiz va ularni Web.config faylida sozlash eng osonidir. Quyidagi misolda authentication elementiga kiritilgan qo'shimchalar ko'rsatilgan:



XML



















Biz admin nomli va paroli 123456 foydalanuvchi yaratdik. Muvaffaqiyatli autentifikatsiya va avtorizatsiya natijalarini sinab ko'rish uchun dasturni ishga tushirish va / admin / order kabi URL manziliga o'tish kerak. Shaxsiy ma'lumotlari yana so'raladi va agar to'g'ri kiritilgan bo'lsa, u so'ralgan sahifaga yo'naltiriladi.
Download 271,02 Kb.

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




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