راهکارهای موثر در ASP.Net > راهکار 1- 5 : طراحی یک سایت ASP.Net با سیستم عضوگیری
معمولی
مقدمه :
یکی از مباحث مهم در طراحی وب سایت ها ، عضوگیری و تعیین نحوه دسترسی اعضا به صفحات
و امکانات سایت می باشد .
ممکن است شما بخواهید بخش یا کل وب سایتتان یا برخی از امکانات آن فقط به افرادیکه
در سایت شما عضو بوده و سپس وارد سایت می شوند ، قابل دسترسی باشند . برای این منظور
باید از سیستم ثبت عضویت و مدیریت آن در Asp.Net استفاده نمایید . این راهکار نحوه
استفاده از تمپلیت های آماده برای ساخت سیستم عضوگیری در Asp.Net را آموزش می دهد .
موارد زیر در این راهکار بررسی شده اند :
- ساخت یک سایت Asp.Net .
- ساخت یک صفحه ویژه فقط برای اعضا ( این صفحه فقط از طریق اعضایی که در سایت ثبت کرده
و وارد آن شده اند ، قابل رویت است ) .
- ساخت یک صفحه ثبت نام که کاربران می توانند در آن صفحه برای عضویت در سایت اقدام کرده
و یک اکانت جدید بسازند .
- نحوه ورود کاربران ثبت نام کرده به سایت و مشاهده صفحات آن .
- طراحی یک صفحه برای کاربرانی که تمایل دارند تا رمز عبور خود را تعویض نمایند .
برای حمایت از این راهکار ، کتاب
راهکارهای موثر در ASP.Net را دانلود نمایید ...
پیش نیازها :
برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد
:
- Microsoft Visual Studio .
- Microsoft .NET Framework version 2.0 .
- SQL Server Express که بر روی کامپیوتر شما نصب شده باشد . این برنامه معمولا با ویژوال
استودیو نصب می شود .
مرحله اول - طراحی یک سایت ASP.Net :
در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید
. فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ،
در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو
بروید .
نکته مهم : در این راهکار ، ما از یک سایت ASP.Net با تمپلیت پیش
فرض ویژوال استودیو استفاده می کنیم . این تمپلیت دارای چندین صفحه ، پوشه و فایل آماده
می باشد . نمای کلی تمپلت در آغاز کار به صورت زیر می باشد :
همچنین ساختار و فایل های پیش فرض سایت شامل موارد زیر هستند :
مرحله دوم - طراحی صفحه ویژه اعضا ( فقط قابل دسترسی توسط اعضا ) :
در این بخش به طراحی صفحه ویژه اعضا می پردازیم . فقط اعضایی که در سایت ثبت نام کرده
اند و وارد آن شده اند ، به این صفحه دسترسی دارند .
یک کنترل HyperLink را بر روی صفحه مسترپیج قرار می دهیم ، تا اعضای ثبت نام کرده و
وارد شده به سایت به صفحه ویژه اعضا راهنمایی شوند .
همچنین کاربرانی که در سایت وارد شده و هنوز عضو نیستند ، چنانچه صفحه ویژه اعضا را
کلیک نمایند به صفحه ورود یا ثبت نام راهنمایی می شوند تا در سایت وارد شده یا ثبت
نام کنند .
نحوه طراحی صفحه ویژه اعضای سایت :
- در منوی Solution Explorer ، بر روی پوشه Account کلیک راست کرده و سپس گزینه
Add New Item را بزنید . ( این پوشه به طور پیش فرض در تمپیلت سایت های ایجاد شده توسط
ویژوال استودیو وجود دارد ) .
- در پنجره Add New Item ، گزینه Web Form را کلیک نمایید . سپس نام آن را به MembersOnly.aspx
تغییر دهید .
- گزینه انتخابی Select master page را علامت زده ، سپس دکمه Add را فشار دهید .
- پنجره Select a Master Page باز می شود ، از زیر بخش Contents of folders فایل Site.master
را انتخاب کرده و OK را بزنید .
- صفحه MembersOnly.aspx در پوشه Account ایجاد شده و از مسترپیج Site.master الگو می
گیرد .
- صفحه MemberOnly.aspx را باز کرده و به حالت Design بروید .
- محتوای مورد نظرتان را به صفحه MemberOnly.aspx اضافه نمایید . برای مثال یک پیام خوش
آمد یا معرفی سایت در آن قرار دهید .
علاوه بر این صفحه که خود شما آن را ساختید ، پوشه Account ( به دلیل اینکه این پروژه
یک template آماده Asp.Net بوده است ) دارای چندین فایل دیگر از جمله فایل های زیر
می باشد :
- egister.aspx : این صفحه به کاربران امکان ثبت نام در سایت
را می دهد .
- Login.aspx : در این صفحه کاربران می توانند با وارد نمودن
رمز عبور کاربری در سایت وارد شوند .
- ChangePassword.aspx : در این صفحه کاربران می توانند رمز عبور
خود را در صورت نیاز تعویض نمایند .
- ChangePasswordSuccess.aspx :این صفحه یک اطلاعیه را به کاربر
در زمانی که رمز عبور وی با موفقیت عوض شود ، نمایش می دهد .
- یک فایل تنظیمات سایت یا web.config .
به صورت پیش فرض ، صفحاتی که درون پوشه Account هستند به کاربران غیر عضو نمایش داده
نمی شوند ( بجز صفحات Register.aspx و Login.aspx برای ثبت نام یا ورود ) . تنظیماتی
که تعیین کننده نحوه دسترسی کاربران به صفحات موجود در پوشه Account می باشند در تگ
مربوط به آن پوشه در فایل web.config قرار دارند .
در مرحله بعدی ، یک کنترل منو Menu را بر روی مسترپیج سایت قرار خواهیم داد تا لینک
دسترسی به صفحه MemberOnly.aspx را نمایش دهد . به صورت زیر :
- در منوی Solution Explore بر روی فایل Site.master کلیک کرده ، آن را باز نموده و به
نمای Design بروید .
- کنترل Menu ای که شامل آیتم های Home و About است را انتخاب کرده و سپس گزینه smart
tag آن که شبیه یک فلش بر روی کنترل است را کلیک نمایید .
- از زیر بخش Menu Tasks ، گزینه ... Edit Menu Items را کلیک نمایید تا پنجره Menu Item
Editor باز شود .
- در بخش Items ، دکمه Add a root item را کلیک نمایید تا یک آیتم منوی جدید در کنترل
ایجاد شود .
- گزینه New Item را انتخاب کرده و در پنجره Properties آن مقدار خاصت Text را به "Members
Only" تغییر دهید .
- گزینه NavigateUrl را کلیک کرده و سپس دکمه (...) را فشار دهید تا منوی ellipsis برای
انتخاب مسیر مقصد باز شود .
- از زیر بخش Project folders ، پوشه Account را باز کرده و فایل MembersOnly.aspx را
به عنوان مقصد انتخاب کرده و OK را بزنید .
- فایل Site.master را ذخیره کرده و ببندید . همچنین با کلیک بر روی فایل Default.aspx
با انتخاب گزینه Set as Start Page آن را به عنوان صفحه آغاز سایت تعیین کنید .
مرحله سوم - ایجاد یک اکانت جدید :
به دلیل اینکه شما هنوز اکانتی بر روی سایت ندارید ( هنوز ثبت نام و ورود نکرده اید
) ، اجازه دسترسی به صفحات خاص مثل members-only را ندارید . بنابراین بایستی ابتدا
در سایت ثبت نام کرده و اکانت بسازید .
کاربران غیر عضو فقط می توانند فایل های Default.aspx و About را دیده و اجازه دسترسی
به محتویات تعیین شده برای کاربران عضو را ندارند . اگر کاربر غیر عضوی تلاش کند تا
به این محتویات دسترسی پیدا کند ، به صفحه ثبت نام ( Register.aspx ) یا صفحه ورود
( Login.aspx ) راهنمایی خواهد شد .
مراحل ایجاد یک اکانت :
- کلیدهای CTRL + F5 را برای اجرای سایت فشار دهید .
- صفحه Members Only را کلیک نمایید . با انجام این کار به صفحه login راهنمایی می شوید
.
- بر روی گزینه Register کلیک نمایید . صفحه Register.aspx برای ایجاد یک اکانت جدید
باز می شود .
- اطلاعات لازم برای ثبت نام در سایت را وارد نمایید . توجه داشته باشید که بصورت پیش
فرض ، رمز عبور حداقل بایستی 6 کاراکتر داشته باشد . نام کاربری لزومی ندارد
حتما شامل کاراکترهای غیر الفبایی بوده و ایمیل نیز می تواند یکتا نباشد .
- بر روی گزینه Create User کلیک نمایید . با این کار اکانت شما ایجاد شده و به صفحه
members-only راهنمایی خواهید شد . دقت داشته باشید نام کاربری شما در کنار عبارت Log
Out نمایش داده خواهد شد .
- برای خروج از سایت Log Out را بزنید . به صفحه home برخواهید گشت.
مرحله چهارم - نحوه تعویض رمزتان در سایت :
در این بخش از راهکار ، لینکی را به صفحه home سایت اضافه می کنیم تا کاربران را پس
از ورود به سایت ، در صورت تمایل به صفحه change password برای تعویض رمز عبور خود
راهنمایی نماید .
برای این منظور مراحل زیر را انجام دهید :
1) صفحه Site.master را باز کرده و به نمای Design بروید .
2) از بخش Standard منوی Toolbox یک کنترل HyperLink را وارد کرده و در کنار کنترل
Log In قرار دهید .
3) در پنجره Properties ، مقدار خاصیت Text کنترل را به Change Password تغییر دهید
.
4) همچنین در پنجره Properties بر روی گزینه NavigateUrl کلیک کرده و سپس دکمه (...)
کرا بزنید تا پنجره Select URL برای انتخاب مسیر مقصد لینک باز شود .
5) از پنجره باز شده ، پوشه Account را باز کرده و سپس فایل ChangePassword.aspx را
انتخاب کنید و سپس OK را بزنید
6) کنترل های CTRL + F5 را برای اجرای صفحه فشار دهید . توجه داشته باشید که لینک Change
Password با وجود اینکه هنوز در سایت Log In نکرده اید ، در دسترس است .
7) بر روی لینک Change Password کلیک نمایید . خواهید دید که به صفحه login راهنمایی
می شوید زیرا صفحه تعویض رمز فقط برای کاربران وارد شده به سایت ، قابل دسترس است .
8) رمز عبور و نام کاربری که در مرحله قبل ایجاد کرده بودید را وارد کرده و Log In
نمایید . با انجام این کار به صفحه قبلی درخواست شده یعنی ChangePassword.aspx برمی
گردید .
9) با کلیک بر روی گزینه Log Out از سایت خارج شوید . در مرحله بعدی می خواهیم
کاری کنیم تا لینک Change Password فقط برای اعضای عضو سایت قابل مشاهده باشد . این
کار را می توانیم با اضافه کردن hyperlink به کنترل HeadLoginView در صفحه مسترپیج
انجام دهیم .
مرحله پنجم - نحوه تنظیم لینک 9 جهت نمایش فقط به اعضای وارد شده به سایت :
برای این منظور مراحل زیر را انجام دهید :
- صفحه Site.master را باز کرده و به نمای Design بروید .
- کنترل HyperLink با نشان Change Password ای که قبلا ایجاد کرده بودید را حذف کنید
.
- به نمای Source صفحه رفته و از بخش Standard منوی Toolbox یک کنترل HyperLink را درگ
کرده و درون المنت LoggedInTemplate کنترل LoginView موجود بر روی صفحه قرار دهید .
- مقدار خاصیت Text آن را به Change Password تغییر داده و خاصیت NavigateUrl آن را نیز
به صفحه ChangePassword.aspx تعیین نمایید .
- در نهایت کنترل hyperlink باید بصورت زیر باشد :
کد
|
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="~/Account/ChangePassword.aspx">
Change Password
</asp:HyperLink>
|
نکته : جه نمایید که کنترل HyperLink در حالت Design صفحه قابل رویت
نیست زیرا محتویات درون المنت LoggedInTemplate کنترل LoginView بصورت پیش فرض مخفی
هستند .
مرحله آخر - امتحان کردن سایت :
اکنون می توانیم عملکرد لینک تعویض رمز را بصورت درست امتحان کنیم :
- کلیدهای CTRL + F5 را برای اجرای سایت فشار دهید . صفحه خانه باز می شود ولی لینک Change
your password مخفی است ( زیرا هنوز وارد سایت نشده ایم ) .
- برای وارد شدن به سایت بر روی لینک Log In کلیک کرده و نام کاربری و رمز عبور خود را
وارد نمایید . پس از ورود به سایت به صفحه members-only بازمیگردید ، ولی این بار لینک
Change your passwordنمایش داده می شود .
- بر روی لینک Change your password کلیک نمایید تا صفحه change-password برای تعویض
رمز باز شود .
- یک رمز جدید را برای اکانت خود وارد نموده و بر روی گزینه Change Password کلیک نمایید
. اگر عملیات تعویض رمز با موفقیت اجرا شود ، پیام تعویض رمز نمایش داده می شود .
- از سایت خارج شده و رمز جدید را امتحان نمایید . خواهید دید که رمز قبلی دیگر کار نمی
کند .
دانلود فایل عملی پروژه و نسخه PDF راهکار
راجع این مطلب
سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...
>>>>> ورود به انجمن تخصصی
نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1
حمایت نمایید :