مشاوره رایگان
دریافت لینک های دانلود دریافت پستی درب منزل مبلغ کل: تومان
جهت دریافت کد تخفیف به کانال تلگرام مراجعه و یا با پشتیبان آنلاین هماهنگ نمایید

آموزش احراز هویت یا Authentication در ASP.NET با مثال


امنیت در ASP.NET

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

  • Authentication (احراز هویت): این فرآیند از هویت کاربر و صحت آن اطمینان حاصل می کند. ASP.NET اجازه چهار نوع احراز هویت را می دهد:
    • Windws Authentication (احراز هویت از طریق پنجره ها)
    • Frms Authentication (احراز هویت از طریق فرم ها)
    • Passprt Authentication (احراز هویت گذرنامه)
    • Custm Authentication (احراز هویت سفارشی)
  • Authorization (احراز مجوز): فرآیندی است که در طی آن ، نقش های خاصی تعریف می شود و به کاربران خاص اختصاص داده می شوند.
  • Confidentiality (محرمانه بودن): شامل رمزگذاری کانال ارتباطی بین مرورگر کلاینت و وب سرور می باشد.
  • Integrity (یکپارچگی): شامل حفظ یکپاچگی داده می باشد. به عنوان مثال، حفظ یکپارچگی از طریق پیاده سازی امضای دیجیتال.

احراز هویت مبتنی بر فرم ها

به طور سنتی، احراز هویت مبتنی بر فرم ها ، شامل ویرایش کردن فایل web.config و افزودن یک صفحه login همراه با کد احراز هویت مناسب به آن می باشد.

فایل web.config ، را می توان به صورت زیر ویرایش کرد و کدهای زیر در آن نوشت:

<configuration>

<system.web>
   <authentication mode="Forms">
      <forms loginUrl ="login.aspx"/>
   </authentication>
   
   <authorization>
      <deny users="?"/>
   </authorization>
</system.web>
...
...
</configuration>

صفحه login.aspx مورد اشاره در قطعه کد بالا ، می تواند دارای کد زیر در پشت فایل با نام های کاربری و رمز های عبور جهت احراز هویت سخت کد شده (hard coded) در آن باشد:

protected bool authenticate(String uname, String pass)
{
   if(uname == "Tom")
   {
      if(pass == "tom123")
         return true;
   }
   
   if(uname == "Dick")
   {
      if(pass == "dick123")
         return true;
   }
   
   if(uname == "Harry")
   {
      if(pass == "har123")
         return true;
   }
   
   return false;
}

public void OnLogin(Object src, EventArgs e)
{
   if (authenticate(txtuser.Text, txtpwd.Text))
   {
      FormsAuthentication.RedirectFromLoginPage(txtuser.Text, chkrem.Checked);
   }
   else
   {
      Response.Write("Invalid user name or password");
   }
}

مشاهده می شود که کلاس FormsAuthentication  ، مسئول فرآیند احراز هویت می باشد.

با این حال، ویژوال استدیو ، ما را قادر به اجرای عملیات های  ایجاد کاربر (user creation) ، احراز هویت و مجوز کاربر به روشی ساده و بدون نوشتن هیچ نوع کدی می سازد. این کار را از طریق ابزار Web Site Administration انجام می دهد. این ابزار اجازه ایجاد کاربران و تعریف نقش ها را به ما می دهد.

جدا از این ، ASP.NET با مجموعه کنترل های readymode  همراه است ، که دارای کنترل هایی برای اجرای تمام وظایف مربوط به امنیت می باشد.

پیاده سازی امنیت مبتنی بر فرم ها

برای بر پا سازی احراز هویت مبتنی بر فرم ، نیاز به موارد ذیل داریم:

  • پایگاه داده ای از کاربران برای پشتیبانی کردن فرآیند احراز هویت.
  • یک وب سایت که از پایگاه داده موردنظر استفاده می کند.
  • حساب های کاربری کاربران.
  • نقش ها.
  • محدودیت های کاربران و فعالیت های گروهی.
  • یک صفحه پیش فرض ، جهت دادن اجازه به کاربران برای وارد شدن به سیستم (login) ، بازیابی رمز عبور ، یا تغییر رمز عبور.

برای ایجاد کاربران ، مراحل زیر را دنبال می کنیم:

مرحله (1): انتخاب Website > ASP.NET Configuration جهت باز کردن ابزار Web Application Administration Tool .

مرحله (2): کلیک کردن بر روی بخش Security

مرحله (3): انتخاب نوع احراز هویت  'Forms based authentication'  ، از طریق انتخاب کردن رادیوباتن  'From the Internet'.

مرحله (4): کلیک کردن بر روی لینک'Create Users'  ، برای ایجاد چند کاربر. اگر قبلاً نقش ها را تعریف کرده باشیم ، می توانیم در این مرحله ، نقش ها را به کاربران تخصیص دهیم.

مرحله (5): ایجاد یک وب سایت و افزودن صفحات زیر به آن:

  • Welcome.aspx
  • Login.aspx
  • CreateAccount.aspx
  • PasswordRecovery.aspx
  • ChangePassword.aspx

 

مرحله (6): قرار دادن یک کنترل LoginStatus در صفحه Welcome.aspx در بخش login از طریق   جعبه ابزار (toolbox) .  این جعبه ابزار دو تمپلت دارد: LoggedIn  و LoggedOut .

در تمپلت LoggedOut ، یک لینک login ، و در تمپلت LoggedIn ، یک لینک logout در کنترل وجود دارد. می توانیم خصیصه های text مربوط به login و logout کنترل را از طریق پنجره Properties تغییر دهیم.

مرحله (7): قرار دادن یک کنترل LoginView از جعبه ابزار کنترل LoginStatus . در اینجا، می توانیم متن ها و سایر کنترل ها (hyperlink ها ، کلیدها و غیره) را قرار دهیم ، که بر اساس این که کاربر از سیستم خارج می شود (logout) یا خیر ، نمایش داده می شوند.

این کنترل دو تمپلت view دارد: تمپلت Anonymous  و تمپلت LoggedIn  . هر view را انتخاب کرده و متنی را برای کاربران ، جهت نمایش داده شدن برای هر تمپلت می نویسیم. متن باید در محلی که با رنگ قرمز مشخص شده است ، قرار داده شود.

مرحله (8): کاربران برنامه کاربردی ، توسط توسعه دهنده ایجاد شده اند. ممکن است که بخواهیم ، بازدید کننده ، یک حساب کاربری را ایجاد کند. برای انجام این کار ، یک لینک را زیر کنترل LoginView اضافه می کنیم ، که باید به صفحه CreateAccount.aspx  لینک شود.

مرحله (9): کنترل CreateUserWizard  را در صفحه create account قرار می دهیم. خصیصه ContinueDestinationPageUrl  این کنترل را به صفحه Welcome.aspx تنظیم می کنیم.

مرحله (10): ایجاد صفحه Login . یک کنترل Login را در صفحه قرار می دهیم. کنترل LoginStatus  به صورت خودکار به صفحه Login.aspx لینک می شود. برای تغییر دادن این وضعیت پیش فرض ، تغییرات زیر را در فایل web.config ایجاد می کنیم.

برای مثال ، اگر بخواهیم که نام صفحه login به صورت signup.aspx باشد ، کدهای زیر را به بخش <authentication> فایل web.config اضافه می کنیم:

<configuration>
   <system.web>
      <authentication mode="Forms">
         <forms loginUrl ="signup.aspx" defaultUrl = “Welcome.aspx” />
      </authentication>
   </system.web>
</configuration>

مرحله (11): کاربران اغلب رمز عبور خود را فراموش می کنند. کنترل PasswordRecovery  کمک می کند که کاربر دوباره به حساب کاربری خود دسترسی یابد. کنترل Login را انتخاب می کنیم. تگ smart  آن را باز کرده و گزینه 'Convert to Template' را کلیک می کنیم.

UI کنترل را برای قرار دادن یک کنترل hyperlink در زیر کلید login سفارشی سازی می کنیم ، که باید به صفحه PassWordRecovery.aspx لینک شود.

مرحله (12): کنترل PasswordRecovery  را در صفحه بازیابی رمز عبور (password recovery) قرار می دهیم. این کنترل نیاز به یک سرور ایمیل ، برای ارسال کردن رمزهای عبور به کاربران دارد.

مرحله (13): ایجاد یک لینک به صفحه ChangePassword.aspx در تمپلت LoggedIn  از کنترل LoginView در صفحه Welcome.aspx .

مرحله (14): قرار دادن یک کنترل ChangePassword در صفحه تغییر دادن رمز عبور (change password) . این کنترل نیز دو view دارد.

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

برای ایجاد نقش ها، به Web Application Administration Tools باز می گردیم و روی بخش Security کلیک می کنیم. روی گزینه 'Create Roles' کلیک کرده و برخی از نقش ها را برای برنامه کاربردی ایجاد می کنیم.

بر روی لینک 'Manage Users' کلیک کرده و نقش ها را به کاربران تخصیص می دهیم.

 

فصلِ: 5 , تعداد قسمت ها: 176 , سطح: صفر تا صد

این فصل در یک نگاه:

در این فصل پس از بررسی سیستم مسیریابی و طراحی صفحه نمایش ویدیو ها، به سراغ پنل کاربری خواهیم رفت و مباحث Model Binding و…

توجه: این دوره آموزشی به صورت پیوسته بر اساس آخرین نسخه ی ASP.NET Core بروزرسانی خواهد شد.   آموزش صفر تا صد طراحی سایت اشتراک ویدیو مشابه آپارات با استفاده از  ASP.NET CORE  MVC 3.0 و V…
فصلِ: 8 , تعداد قسمت ها: 357 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه قصد داریم تا فروشگاه اینترنتی دیجی کالا رو با Asp.Net Core3 پیاده سازی کنیم. ابتدا طراحی قالب دیجی کالا رو به صورت کامل انجام خواهیم داد. در مرحله میریم …
فصلِ: 5 , تعداد قسمت ها: 135 , سطح: صفر تا صد

این فصل در یک نگاه:

توضیحات کلی مجموعه: در این مجموعه آموزشی، با استفاده از جدیدترین تکنولوژی ها و ابزار های مایکروسافت (دات نت)، به یک پروژه جذاب مدیریت آگهی مشابه دیوار می پردازیم. این آموزش در دو بخش کلی و…
فصلِ: 7 , تعداد قسمت ها: 153 , سطح: صفر تا صد
موضوعات: آموزش ASP.NET

این فصل در یک نگاه:

در این دوره به آموزش صفر تا صد جدیدترین نسخه ASP یعنی CORE جدیدترین ورژن خواهیم پرداخت.این آموزش از سطح مقدماتی تا فوق …

دوره آموزش کامل طراحی وب به همراه پروژه ساخت سیستم مدیریت کتابخانه  این دوره  با کور 1 آغاز می شود و در ادامه پروژه به کور 2 تبدیل می شودو پروژه نهایی (سیستم مدیریت کتابخانه) با Asp.net کور…
فصلِ: 1 , تعداد قسمت ها: 5 , سطح: متوسط

این فصل در یک نگاه:

ساخت محیط کاربریآموزش نحوه ی ارسال ایمیل در Asp.net MVCآموزش تنظیمات Gmail برای استفادهاستفاده از Yahooاستفاده از سرویس …

به نام خدا... در خدمتتون هستم با آموزش ارسال ایمیل در Asp.net MVC... ارسال ایمیل یکی از اجزای اصلی ییک سایت به شمار می رود و واقعا سایتی که برای اجزای مختلفش همانند ثبت کاربر جدید و یا ارسال…
فصلِ: 2 , تعداد قسمت ها: 62 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل دوم در یک نگاه:فصل دوم در یک نگاه:…

در این پکیج به مبحث طراحی وب ، در قالب ساخت یک سایت فروشگاهی 5040 به آدرس http://5040.ir می پردازیم که به جرات مشهورترین و یکی از برترین فروشگاه های مجازی در کشور است. در این مجموعه قصد داری…
فصلِ: 4 , تعداد قسمت ها: 78 , سطح: متوسط

این فصل در یک نگاه:

در این دوره آموزشی، وبسایت ورزش3 را با استفاده از ASP.NET Core پیاده سازی می کنیم و همچنین اپ اندروید آن را هم با Xamarin متصل به سرور سایت طراحی و در نهایت نحوه انتشار آن در مارکت هایی مثل …
فصلِ: 1 , تعداد قسمت ها: 14 , سطح: متوسط

این فصل در یک نگاه:

کاملترین آموزش هاست و کار با سی پنل.در هنگام خرید سرویس هاست کلمه ای به نام “کنترل پنل” را زیاد خواهید دید آیا تا به حال…

سی پنل یک کنترل پنل هاست محبوب و معروف در جهان و ایران است. در فیلم آموزش سی پنل هم توصیه اکید شده تا افراد مبتدی و حتی افراد حرفه ای از این کنترل پنل هاست سی پنل استفاده کنند. آموزش cpanel …
فصلِ: 5 , تعداد قسمت ها: 25 , سطح: صفر تا صد

این فصل در یک نگاه:

فصل پنجم…

توضیحات کلی مجموعه: درباره گیت: لذت پیش بردن پروژه های برنامه نویسی خود را با بهترین ورژن کنترل سیستم جهان تجربه کنید کامل ترین دوره ی آموزشی گیت و گیت هاب به همراه مثال های کاربردی گی…
فصلِ: 1 , تعداد قسمت ها: 15 , سطح: متوسط

این فصل در یک نگاه:

رشد و درآمدزایی یک وب سایت یا کسب و کار اینترنتی کاملا به ذوق و مهارت وب مستر یا همان مدیر اصلی وب سایت گره خورده و متاس…

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

تولید شده توسط کلیک سایت

پشتیبانی آنلاین
آماده پاسخگویی هستیم
انتخاب تصویر جهت ارسال:
در حال ضبط صدا

(جهت توقف و یا لغو ضبط از دکمه های زیر استفاده کنید)

توقف و ارسال :
لغو ضبط
در حال حاضر تمامی کارشناسان آفلاین هستند. همواره می توانید با شماره تلگرام / واتساپ 09010005000 به صورت آنلاین با ما در ارتباط باشید. جهت ورود به واتساپ کلیک کنید
0 پیام جدید
پشتیبان در حال تایپ ...
ارسال تصویر ضبط صدا
0 کارشناسان آنلاین می باشند
این گفت و گو توسط پشتیبان به اتمام رسید