آموزش پیشرفته ASP.Net Web Forms نحوه ایجاد فرم لاگین (Login Form) در سایت

986 بازدید
بیشتر
گروه نرم افزاری هیلتن
گروه نرم افزاری هیلتن
به نام خدا در این جلسه آموزشی قصد داریم درباره نحوه ایجاد فرم لاگین کاربر در asp.net صحبت کنیم. اگر نمیدونید که از کجا شروع کنید ...
به نام خدا در این جلسه آموزشی قصد داریم درباره نحوه ایجاد فرم لاگین کاربر در asp.net صحبت کنیم. اگر نمیدونید که از کجا شروع کنید، احتمالا طراحی یک فرم Login برایتان دشوار است. بسیاری از جزئیات کوچک وجود دارند که می توان آنها را نادیده گرفت و تجربه کاربر را خراب کرد و از ورود کاربران جدید جلوگیری کرد. هنگامی که هیچ نقطه شروعی ندارید، صرف نظر از نوع وب سایت، باید به اصول اولیه طراحی فرم Login به سیستم پایبند باشید.کسانی که می خواهند یک صفحه ورود زیبا و واکنش گرا بسازند، باید این ویدیو را ببینند و به تمام جنبه هایی که در این ویدیو به آنها اشاره می شود توجه کنند. خبر خوب این است که ساخت صفحات لاگین دشوار نیست، به شرطی که از برخی قوانین اساسی پیروی کنید.صفحه ورود دری است که کاربران باید آن را باز کنند تا بهترین استفاده را از تجربه کاربری خود با یک وب سایت ببرند.صفحات ورود به سایت ، با طراحی خوب باید حس امنیت را القا کنند. یک صفحه ورود نامناسب بر رتبه سایت شما تأثیر می گذارد زیرا کاربران در وهله اول قرار نیست ثبت نام کنند. با توجه به اینکه کاربران به احتمال زیاد حداقل یک بار در هر بازدید از سایت شما به این صفحه دسترسی دارند طراحی صحیح صفحه ورود به حساب کاربری ، شرط داشتن یک وب سایت است. افرادی که می خواهند به حساب های خود دسترسی داشته باشند، نمی توانند بدون صفحه لاگین این کار را انجام دهند و اگر فرم لاگین به سیستم به درستی طراحی نشده باشد و استفاده از آن دردسرساز باشد، کاربران را از دست خواهید داد.هنگامی که متوجه شدید این صفحه چقدر زیبا و واکنش گرا است، وقت آن است که یاد بگیرید چگونه یک صفحه ورود ایجاد کنید که باعث شود کاربران در وب سایت بمانند و از تجربه خود لذت ببرند. در این ویدیو چه کاری انجام خواهیم داد؟ برای شروع در محیط کار داخل پوشه Users یک فرم جدید به نام LoginPage.aspx ایجاد میکنیم که از مسترپیج UserMasterPage.Master ارث بری میکنه. برای فرم لاگین ما میتونیم از قالب های آماده ای که داخل اینترنت گذاشته شده استفاده کنیم اما اینجا خودمون بصورت دستی اقدام به طراحی فرم login میکنیم.بنابراین داخل فرم LoginPage.aspx تو قسمت کد بیهایند code behind داخل کنترل asp:content یک row و داخلش سه تا col-md-4 ایجاد میکنیم. داخل column وسطی دوتا input type=text قرار میدهیم ، یکی برای UserName کاربر و یکی هم برای Password . حالا پایین فیلد UserName و Password از asp requiredfieldvalidator استفاده میکنیم تا فیلد UserName و Password رو کنترل کنه تا مطمئن شیم که کاربر حتما نام کاربری و رمز عبور رو وارد کرده. یک asp:Button و یک span هم برای نمایش پیغام به کاربر قرار میدیم.ایونت کلیک Button رو باز میکنیم و داخلش یکسری کد میزنیم که در زیر توضیح کاملی درباره آن دادیم. ما در قسمت قبلی گفتیم که از قبل یک کلاس به نام CheckInput نوشته بودیم که میومد و ورودی ها رو چک میکرد که کاربر دستورات sql injection وارد نکرده باشد. تو کد بالا داخل شرط اول از این کلاس استفاده کردیم که اینپوت باکس نام کاربری را چک میکند تا کاربر از دستورات خطرناک استفاده نکرده باشد.در خط های بعدی هم یک شِئ از مدل مون به نام dbcontext ساختیم و یک query نوشتیم که میاد با استفاده از دستورات linq نام کاربری (UserName) کاربر رو تو دیتابیس با متنی که کاربر داخل TxtName نوشته مقایسه میکنه و اگر با هم برابر بودند میاد و اون رکورد مورد نظر رو داخل var query میریزه.بعد شرط میگذاریم که اگر Count() یا تعداد رکوردهایی که داخل متغییر query بود مخالف 1 بود در نتیجه میفهمیم که رکورد مورد نظر داخل query ریخته نشده در نتیجه کاربر UserName رو تو input type=text به درستی وارد نکرده و با UserName ای که تو دیتابیس ذخیره شده همخوانی نداره.اما اگر Count() یا تعداد رکوردی که داخل query بود برابر 1 بود در نتیجه میفهمیم که رکورد مورد نظر داخل query ریخته شده در نتیجه کاربر UserName رو تو input type=text به درستی وارد کرده و با UserName ای که تو دیتابیس ذخیره شده همخوانی داره ، در اینصورت یک متغییر رشته ای خالی به نام StrID ایجاد میکنیم. یک حلقه foreach میزنیم و داخلش یک شرط میذاریم که میاد TxtPassword رو چک میکنه که پسوردی که کاربر داخل TxtPassword وارد کرده با پسورد هش (Hash) شده ای که داخل دیتابیس وجود داره همخوانی داره یا خیر ، اگر همخوانی نداشت که برنامه به کاربر پیغام خطا (رمز عبور یا نام کاربر ی اشتباه میباشد) میدهد اما اگر همخوانی داشت برنامه آیدی کاربر رو میگیره و داخل متغییر StrID میریزه.و در آخر میاد و آیدی کاربر (StrID) رو به دستور FormsAuthentication.RedirectFromLoginPage میده.

همه توضیحات ...