راهکارهای موثر در ASP.Net > راهکار 1- 5 : طراحی یک سایت ASP.Net با سیستم عضوگیری معمولی

مقدمه :

یکی از مباحث مهم در طراحی وب سایت ها ، عضوگیری و تعیین نحوه دسترسی اعضا به صفحات و امکانات سایت می باشد .

 ممکن است شما بخواهید بخش یا کل وب سایتتان یا برخی از امکانات آن فقط به افرادیکه در سایت شما عضو بوده و سپس وارد سایت می شوند ، قابل دسترسی باشند . برای این منظور باید از سیستم ثبت عضویت و مدیریت آن در Asp.Net استفاده نمایید . این راهکار نحوه استفاده از تمپلیت های آماده برای ساخت سیستم عضوگیری در Asp.Net را آموزش می دهد . موارد زیر در این راهکار بررسی شده اند :

  • ساخت یک سایت Asp.Net .
  • ساخت یک صفحه ویژه فقط برای اعضا ( این صفحه فقط از طریق اعضایی که در سایت ثبت کرده و وارد آن شده اند ، قابل رویت است ) .
  • ساخت یک صفحه ثبت نام که کاربران می توانند در آن صفحه برای عضویت در سایت اقدام کرده و یک اکانت جدید بسازند .
  • نحوه ورود کاربران ثبت نام کرده به سایت و مشاهده صفحات آن .
  • طراحی یک صفحه برای کاربرانی که تمایل دارند تا رمز عبور خود را تعویض نمایند .

برای حمایت از این راهکار ، کتاب راهکارهای موثر در ASP.Net را دانلود نمایید ...

پیش نیازها :

برای اجرای این راهکار نیاز دارید تا برنامه های زیر بر روی سایت شما نصب شده باشد :

  1. Microsoft Visual Studio .
  2. Microsoft .NET Framework version 2.0 .
  3. SQL Server Express که بر روی کامپیوتر شما نصب شده باشد . این برنامه معمولا با ویژوال استودیو نصب می شود .

مرحله اول - طراحی یک سایت ASP.Net :

در مرحله اول از راهکار بایستی یک سایت ASP.Net را برای اجرای پروژه خود ایجاد نمایید . فرض بر این است که سایت را قبلا ایجاد کرده و یا با نحوه اجرای آن آشنایی دارید ، در غیر اینصورت به راهکار شماره 1-1 : نحوه ایجاد یک وب سایت ASP.Net در ویژوال استودیو بروید .

نکته مهم : در این راهکار ، ما از یک سایت ASP.Net با تمپلیت پیش فرض ویژوال استودیو استفاده می کنیم . این تمپلیت دارای چندین صفحه ، پوشه و فایل آماده می باشد . نمای کلی تمپلت در آغاز کار به صورت زیر می باشد :

همچنین ساختار و فایل های پیش فرض سایت شامل موارد زیر هستند :

مرحله دوم - طراحی صفحه ویژه اعضا ( فقط قابل دسترسی توسط اعضا ) :

در این بخش به طراحی صفحه ویژه اعضا می پردازیم . فقط اعضایی که در سایت ثبت نام کرده اند و وارد آن شده اند ، به این صفحه دسترسی دارند .
یک کنترل HyperLink را بر روی صفحه مسترپیج قرار می دهیم ، تا اعضای ثبت نام کرده و وارد شده به سایت به صفحه ویژه اعضا راهنمایی شوند .
همچنین کاربرانی که در سایت وارد شده و هنوز عضو نیستند ، چنانچه صفحه ویژه اعضا را کلیک نمایند به صفحه ورود یا ثبت نام راهنمایی می شوند تا در سایت وارد شده یا ثبت نام کنند .

نحوه طراحی صفحه ویژه اعضای سایت :

  1.  در منوی Solution Explorer ، بر روی پوشه Account کلیک راست کرده و سپس گزینه Add New Item را بزنید . ( این پوشه به طور پیش فرض در تمپیلت سایت های ایجاد شده توسط ویژوال استودیو وجود دارد ) .
  2. در پنجره Add New Item ، گزینه Web Form را کلیک نمایید . سپس نام آن را به MembersOnly.aspx تغییر دهید .
  3. گزینه انتخابی Select master page را علامت زده ، سپس دکمه Add را فشار دهید .
  4. پنجره Select a Master Page باز می شود ، از زیر بخش Contents of folders فایل Site.master را انتخاب کرده و OK را بزنید .
  5. صفحه MembersOnly.aspx در پوشه Account ایجاد شده و از مسترپیج Site.master الگو می گیرد .
  6. صفحه MemberOnly.aspx را باز کرده و به حالت Design بروید .
  7. محتوای مورد نظرتان را به صفحه 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 را نمایش دهد . به صورت زیر :

  1. در منوی Solution Explore بر روی فایل Site.master کلیک کرده ، آن را باز نموده و به نمای Design بروید .
  2. کنترل Menu ای که شامل آیتم های Home و About است را انتخاب کرده و سپس گزینه smart tag آن که شبیه یک فلش بر روی کنترل است را کلیک نمایید .
  3. از زیر بخش Menu Tasks ، گزینه ... Edit Menu Items را کلیک نمایید تا پنجره Menu Item Editor باز شود .
  4. در بخش Items ، دکمه Add a root item را کلیک نمایید تا یک آیتم منوی جدید در کنترل ایجاد شود .
  5. گزینه New Item را انتخاب کرده و در پنجره Properties آن مقدار خاصت Text را به "Members Only" تغییر دهید .
  6. گزینه NavigateUrl را کلیک کرده و سپس دکمه (...) را فشار دهید تا منوی ellipsis برای انتخاب مسیر مقصد باز شود .
  7. از زیر بخش Project folders ، پوشه Account را باز کرده و فایل MembersOnly.aspx را به عنوان مقصد انتخاب کرده و OK را بزنید .
  8. فایل Site.master را ذخیره کرده و ببندید . همچنین با کلیک بر روی فایل Default.aspx با انتخاب گزینه Set as Start Page آن را به عنوان صفحه آغاز سایت تعیین کنید .

مرحله سوم - ایجاد یک اکانت جدید :

به دلیل اینکه شما هنوز اکانتی بر روی سایت ندارید ( هنوز ثبت نام و ورود نکرده اید ) ، اجازه دسترسی به صفحات خاص مثل members-only را ندارید . بنابراین بایستی ابتدا در سایت ثبت نام کرده و اکانت بسازید .

کاربران غیر عضو فقط می توانند فایل های Default.aspx و About را دیده و اجازه دسترسی به محتویات تعیین شده برای کاربران عضو را ندارند . اگر کاربر غیر عضوی تلاش کند تا به این محتویات دسترسی پیدا کند ، به صفحه ثبت نام ( Register.aspx ) یا صفحه ورود ( Login.aspx ) راهنمایی خواهد شد .

مراحل ایجاد یک اکانت :

  1. کلیدهای CTRL + F5 را برای اجرای سایت فشار دهید .
  2. صفحه Members Only را کلیک نمایید . با انجام این کار به صفحه login راهنمایی می شوید .
  3. بر روی گزینه Register کلیک نمایید . صفحه Register.aspx برای ایجاد یک اکانت جدید باز می شود .
  4. اطلاعات لازم برای ثبت نام در سایت را وارد نمایید . توجه داشته باشید که بصورت پیش فرض ، رمز عبور حداقل بایستی  6 کاراکتر داشته باشد . نام کاربری لزومی ندارد حتما شامل کاراکترهای غیر الفبایی بوده و ایمیل نیز می تواند یکتا نباشد .
  5. بر روی گزینه Create User کلیک نمایید . با این کار اکانت شما ایجاد شده و به صفحه members-only راهنمایی خواهید شد . دقت داشته باشید نام کاربری شما در کنار عبارت Log Out نمایش داده خواهد شد .
  6. برای خروج از سایت 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 جهت نمایش فقط به اعضای وارد شده به سایت :

برای این منظور مراحل زیر را انجام دهید :

  1. صفحه Site.master را باز کرده و به نمای Design بروید .
  2. کنترل HyperLink با نشان Change Password ای که قبلا ایجاد کرده بودید را حذف کنید .
  3. به نمای Source صفحه رفته و از بخش Standard منوی Toolbox یک کنترل HyperLink را درگ کرده و درون المنت LoggedInTemplate کنترل LoginView موجود بر روی صفحه قرار دهید .
  4. مقدار خاصیت Text آن را به Change Password تغییر داده و خاصیت NavigateUrl آن را نیز به صفحه ChangePassword.aspx تعیین نمایید .
  5. در نهایت کنترل hyperlink باید بصورت زیر باشد :
    کد <asp:HyperLink ID="HyperLink1" runat="server"   NavigateUrl="~/Account/ChangePassword.aspx"> Change Password
    </asp:HyperLink>

نکته : جه نمایید که کنترل HyperLink در حالت Design صفحه قابل رویت نیست زیرا محتویات درون المنت LoggedInTemplate کنترل LoginView بصورت پیش فرض مخفی هستند .

مرحله آخر - امتحان کردن سایت :

اکنون می توانیم عملکرد لینک تعویض رمز را بصورت درست امتحان کنیم :

  1. کلیدهای CTRL + F5 را برای اجرای سایت فشار دهید . صفحه خانه باز می شود ولی لینک Change your password مخفی است ( زیرا هنوز وارد سایت نشده ایم ) .
  2. برای وارد شدن به سایت بر روی لینک Log In کلیک کرده و نام کاربری و رمز عبور خود را وارد نمایید . پس از ورود به سایت به صفحه members-only بازمیگردید ، ولی این بار لینک Change your passwordنمایش داده می شود .
  3. بر روی لینک Change your password کلیک نمایید تا صفحه change-password برای تعویض رمز باز شود .
  4. یک رمز جدید را برای اکانت خود وارد نموده و بر روی گزینه Change Password کلیک نمایید . اگر عملیات تعویض رمز با موفقیت اجرا شود ، پیام تعویض رمز نمایش داده می شود .
  5. از سایت خارج شده و رمز جدید را امتحان نمایید . خواهید دید که رمز قبلی دیگر کار نمی کند .

دانلود فایل عملی پروژه و نسخه PDF راهکار



راجع این مطلب سوال یا اشکالی دارید ؟! آن را در انجمن سایت مطرح نمایید ...         >>>>>  ورود به انجمن تخصصی


نطر خودتان درباره این صفحه را با ما در میان گذاشته و در صورت تمایل از Developer1 حمایت نمایید :

آیا مطالب این صفحه برای شما مناسب و مفید بوده است :

نام :                 
آدرس Email :    
 
نظر شما :  
 
سوال امنیتی : پایتخت ایران ؟      
حمایت از سایت Developer1