لینک فعال سازی

در این مقاله به شروع آموزش MVC می پردازیم. مبحثی که برای شروع کار برای کاربران عزیز درنظر گرفته ایم، ثبت نام در سایت و ارسال لینک فعال سازی است.

در ادامه قدم به قدم با آموزش ما همراه باشید. امید است که بعد پایان این مقاله تمامی شما کاربران توانسته باشید یک فرم ثبت نام و ورود به سیستم را با استفاده از MVC طراحی نمایید.

پیش از این مقاله ما مقاله فعال سازی کاربر توسط ایمیل را در ASP.NET را براتون نوشته بودیم.

به آموزش ارسال لینک فعال سازی میپردازیم:

در ابتدای کار به طراحی پایگاه داده می پردازیم.

برای شروع کار ابتدا پایگاه داده با یک نام دلخواه ایجاد کرده و جداولی مطابق با جداولی که ما طراحی می کنیم در این پایگاه داده ایجاد نمایید.
اولین جدولی که ما نیاز داریم جدول نقش ها (Roles) نام دارد.

فیلدهای این جدول را در شکل زیر خواهید دید. نکته ای که در این جدول قابل ذکر است این است که برای RoleID در این جدول خاصیت Identity را برای جلوگیری از بودجود آمدن خطا در زمان ثبت کاربر True قرار نمی دهیم.

زیرا در زمان ثبت نام تمام کاربران به عنوان کاربران عادی ثبت می شوند. و در نهایت توسط مدیر نقش دهی می شوند.

جدول نقش ها در این برنامه باید حاوی فیلدهای زیر باشد.

MVC

در جدول نقش ها باید در ابتدا اطلاعاتی ثبت نماییم. زیرا در صورت خالی بودن این جدول اجرای برنامه با مشکل مواجه می شود.
MVC

جدول کاربران نیز باید حاوی فیلدهای زیر باشد.

 ارسال لینک فعال سازی در MVC
حال به بخش طراحی و پیاده سازی برنامه می رویم. در اینجا ما از VisualStudio2013 استفاده می کنیم.

طبق تصویر زیر یک پروژه جدید ایجاد و یک نام مناسب برای آن بر می گزینیم. . با انتخاب Next به صفحه بعدی می رویم.

 ارسال لینک فعال سازی در MVC

در صفحه موجود ابتدا گزینه Empty و بعد از گزینه MVC را انتخاب کرده و OK را انتخاب می کنیم.

 ایمیل تایید در MVC

حال به صفحه اصلی برنامه ای که میخواهیم ایجاد کنیم وارد شده ایم.

در اینجا باید مدلی از پایگاه داده ایجاد کنیم.

برای این کار برروی Model در بخش Solution Explorer کلیک راست کرده و گزینه Add New Item را انتخاب می کنیم.

 ایمیل تایید در MVC
در پنجره موجود در بخش Data گزینه ADO.NET Entity Data Model را انتخاب کنید و یک نام مناسب برای مدل خود در نظر بگیرید.

 فعال سازی با ایمیل در MVc

در صفحه بعدی باید گزینه ای که در تصویر مشاهده می کنید را انتخاب کرده و با Next به صفحه بعدی بروید.

 فعال سازی با ایمیل در MVc

حال باید یک اتصال به پایگاه داده ایجاد کنیم. مراحل را طبق تصویر پیش ببرید تا با پایگاه داده اتصال برقرار کنیم.

 ایمیل تایید در MVC

در صفحه انتخاب اتصال به بانک باید گزینه دوم را انتخاب کنید و با Next به صفحه بعدی بروید.

 ایمیل تایید در MVC

در این صفحه نیز نسخه Entity Framework موردنظر خود را انتخاب کنید و به مرحله بعدی هدایت شوید.

 ایمیل تایید در MVC

حال جداولی که به آنها نیاز داریم را انتخاب می کنیم و تیک گزینه Include را انتخاب کرده و کار در اینجا به پایان میرسد.

 آموزش MVC

می بینیم که مدلهای ما به همراه ارتباطاتشان به پروژه اضافه شده اند. حال به ادامه کار میپردازیم.

 آموزش MVC

حال اگر به پوشه Model نگاهی بیاندازید، میبینید که کلاس های موردنیاز ما از روی مدل هایی که به پروژه اضافه کرده ایم ساخته شده اند.

یعنی در واقع با این روش دیگر نیاز به ساختن کلاس نداریم. کار بسیار آسان شده است.

در تصویر زیر فیلدهای کلاس نقش ها و همچنین فیلدهای کلاس کاربران را مشاهده میکنید.

 ارسال لینک فعال سازی در MVC

 ارسال لینک فعال سازی در MVC

حال نکته ای که در اینجا برای ما قابل توجه است این است که ما نمیتوانیم برای کلاس ها در entity صفت مشخص کنیم.

پس برای اضافه نمودن صفت به کلاس ها باید از کلاس های MetaData استفاده کنیم.

برای این کار باید تنظیماتی در مدل ایجاد کنیم. در ادامه خواهید دید که چگونه کلاسهای MetaData را ایجاد میکنیم.

برای شروع کار باید صفحه MyModel.tt را باز کنید و در بخشی که در تصویر می بینید کد موردنظر را اضافه نمایید.


به خاطر داشته باشید که بعد از هر تغیری در برنامه باید آن را Rebuild  کنید.
بعد از اینکه پروژه را Rebuild کردید با خطاهای زیادی مواجه خواهید شد. حال برای رفع این خطاها چه کنیم؟
راه حل بسیار آسان است. کلاس نقش ها را بینید.
 ایمیل تایید در MVC
در این تصویر میبینید که RolesMetaData  به رنگ قرمز درآمده است.

زیرا باید کلاس MetaData برای آن ساخته شود. برای این کار کلمه RolesMetaData را هایلایت کرده و دکمه های ترکیبی Ctrl+.+Enter را همزمان باهم میگیریم.

میبینیم که کلاس MetaData موردنظر ساخته می شود.

بعد از ایجاد کلاس باید فیلدهای کلاس موجود در مدل را در کلاس MetaData اضافه کنیم و حال در اینجا می توانیم صفت های مورد نظر خود را به کلاس هایمان بدهیم.

برای تمامی کلاس های دیگر نیز این مراحل را طی میکنیم. و ادامه کار را پی میگیریم.

توجه داشته باشید که بعد از افزودن صفت ها به کلاس باید فضای نام زیر به برنامه اضافه شود.

using System.ComponentModel.DataAnnotations

 ایمیل تایید در MVC

 ایمیل تایید در MVC

حال یک کنترلر و یک View به برنامه اضافه می کنیم.


 لینک فعال سازی

 

 لینک فعال سازی
در کنترلر ایجاد شده برروی View راست کلیک کنید و AddView را انتخاب کنید.
 لینک فعال سازی
در ادامه باید نوع View موردنظر را انتخاب کنید. در اینجا ما یک Empty view میسازیم. در مقالات بعدی با انواع View آشنا می شویم.

 ایمیل تایید در MVC
برای انجام عملیات های مربوط به کاربران مانند Login  و Register یک کنترلر جدید ایجاد میکنیم و آن را Account می نامیم.

در ادامه برای انجام عملیات ثبت نام به یک کلاس نیاز داریم.

ولی این یک کلاس نمایشی است و تعداد فیلدهای آن با فیلدهای کلاس کاربران ما متفاوت است.

پس برای این کار یک کلاس ViewModel میسازیم.

کلاس های ViewModel در واقع مانند سایر کلاس های ما هستند با این تفاوت که در انتهای نام آن ها کلمه ViewModel درج میشود.

پس بر روی پوشه Model کلیک راست کرده و یک کلاس اضافه میکنیم و آن را RegisterViewModel می نامیم.

 ایمیل تایید در MVC

 ایمیل تایید در MVC

فیلدهای این کلاس را مانند تصویر زیر تنظیم کنید.

 ایمیل تایید در MVC
حال به سراغ کنترلر Account که ساختیم می رویم. اولین متد در این کنترلر را به نام Register تغییر می دهیم.
 لینک فعال سازی
برروی View کلیک راست کنید و گزینه AddView را بزنید. و یک View با جزئیات زیر ایجاد کنید.

 لینک فعال سازی
حال برنامه را اجرا کنید و خروجی را ببینید.

 فعال سازی کاربر با ایمیل
حال به سراغ متد بازگشتی ثبت نام میرویم.
در کنترلر Account متد بازگشتی را درج می کنیم. در ادامه ببینید.
 فعال سازی کاربر با ایمیل

اجرای برنامه را ببینید.

 فعال سازی کاربر با ایمیل

حال به جدول کاربران در پایگاه داده بروید. میبینید که اطلاعات به درستی در این جدول درج شده است.

 فعال سازی کاربر با ایمیل
پیشنهادی که برای شما داریم این است که در پوشه Models، دو پوشه دیگر به نامهای MetaDataClasses و ViewModelClasses ایجاد کنید.

این برای تمیزی بیشتر کار است.تا کلاس ها در پوشه های مربوط به خود باشند.

حال برای ایجاد فرم Login یک کلاس ViewModel دیگر با نام LoginViewModel ایجاد میکنیم.

 فعال سازی کاربر با ایمیل

حال به سراغ متد Login در کنترلر Account می رویم. و دستورات موردنظر را درج میکنیم.
 ایمیل تایید در MVC
حال برروی View کلیک راست کرده و گزینه AddView را انتخاب میکنیم. حال یک View با جزئیات زیر ایجاد می کنیم.

حال متد بازگشتی Login را به برنامه اضافه میکنیم.

توجه داشته باشید که برای دستور Login کاربر باید فضای نام  Using.System.Web.Security; باید برای امنیت وب به مجموع فضاهای نام افزوده شود.
 ایمیل تایید در MVC
حال به صفحه Web.config رفته و در تگ System.Web کدهای زیر را درج میکنیم.
لینک فعال سازی
در ادامه برای اینکه کاربر بعد از اینکه به سایت Login کرد وارد صفحه موردنظر ما شود باید عملیاتی را انجام دهیم.

در ادامه ببینید.به صفحه Layout رفته و تغییرات زیر را اعمال کنید.
 ایمیل تایید در MVC

حال بلافاصله به کنترلر Account رفته و متد LogOff را مینویسیم.
 ایمیل تایید در MVC

حال باید حساب کاربری که در سایت ما ثبت نام کرده است فعال شود.

برای این کار باید یک لینک فعال سازی برای کاربر ارسال شود.

برای این یک کنترلر جدید با نام SendEmail میسازیم. و یک View با جزئیات زیر با آن اضافه می کنیم.

 ایمیل تایید در MVC
بعد از ایجاد View تمام کدهای موجود در صفحه را پاک کنید و دستورات زیر را در آن درج کنید.

 ایمیل تایید در MVC
یک کلاس با عنوان SendEmailGmail ایجاد میکنیم. به شکل زیر توجه کنید.

 ایمیل تایید در MVC
حال کلاس دیگری با نام PartialToString ایجاد میکنیم. این کلاس یک PartialView را به صورت رشته برای ما برمیگرداند.

 لینک فعال سازی
به کنترلر Account رفته و در بخشی که ثبت کامل انجام می شود کد زیر را درج کنید.

حال باید متد بازگشتی لینک فعال سازی را ایجاد کنیم.

برای این متد یک View میسازیم. و آن را به صورت زیر تنظیم میکنیم.

 لینک فعال سازی

حال به سراغ مدیریت نقش ها میرویم.

برای این کار یک کلاس با عنوان MyRoleProvider میسازیم. این کلاس از کلاس RoleProvider ارث بری می کند.

به شکل توجه کنید. این کلاس یک Interface است. Implement abstract را انتخاب کنید تا تمام متدهای آن را بسازد.

 لینک فعال سازی
ابتدا از روی مدل یک نمونه ایجاد میکنیم. و به متد موردنظر رفته و تغییرات لازمه را اعمال میکنیم.
 لینک فعال سازی
حال باید RoleProvider را به سیستم معرفی کنیم.
به صفحه web.config  برویم.

حال بر روی نام پروژه کلیک راست کنید و ۲ Area بسازید.

یکی با عنوان Admin و دیگری با عنوان User. برای هر کدام هم یک کنترلر Test به همراه View اضافه نمایید.
حال به صفحه web.config رفته و سطح دسترسی کاربر و مدیر را مشخص نمایید.


حال نیاز داریم تا تغییراتی را در متد بازگشتی Login ایجاد کنیم. به کدها توجه نمایید.
 لینک فعال سازی

لینک فعال سازی

حال برنامه را اجرا کنید.

تصویر ایمیل فعال سازی را ببینید.خوشحال میشم نظرات و سوالات خود را مطرح کنید.

لینک فعال سازی

لینک فعال سازی

جزئیات فایل

زبان پروژه : C#&MVC
حجم فایل پیوست : 14 MB

دانلود فایل

دانلود با لینک مستقیم
پسورد فایل : www.mspsoft.com
محبوبه میرزائی

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

    حمید پاسخ

    سلام
    برای ادرس دهی لینک فعال سازی این قسمت اول
    localhost:61908
    فعال سازی رو چه جوری تنظیم کنیم؟
    برای ما باید چه عددی باشه؟ ازکجا به دستش بیاریم؟
    سپاس فراوان

      مسعود شریفی پاسخ

      وقتی شما در سیستم پروژه را اجرا میکنید یه پورتی برای شما باز میشه ، از همون پورت که در URL است استفاده کنید.

    حمید پاسخ

    سلام
    برای ادرس دهی لینک فعال سازی این قسمت اول
    localhost:61908
    فعال سازی رو چه جوری تنظیم کنیم؟
    برای ما باید چه عددی باشه؟ ازکجا به دستش بیاریم؟
    سپاس فراوان