تبلیغات
آموزشASP.NET - امنیت برنامه های وب ( بخش پنچم )
 
فردا روشن اسن به
آموزشASP.NET
صفحه نخست         تماس با مدیر         پست الکترونیک        RSS         ATOM
 
 
پنجشنبه 11 فروردین 1390 :: نویسنده : ارش کاکاوند

در بخش پنجم این مقاله به بررسی Passport  Authentication خواهیم پرداخت .
همانگونه که در بخش اول این مقاله اشاره گردید ، برنامه های وب ASP.NET از سه روش عمده به منظور تائید کاربران استفاده می نمایند :

  •  Windows  Authentication

  •  Forms        Authentication

  •  Passport   Authentication

زمانیکه از سرویس وب Passport مایکروسافت به منظور تائید کاربران استفاده می گردد ، مسئولیت تائید کاربران از IIS و برنامه وب سلب شده و این وظیفه به سایت Passport.com واگذار می گردد. در روش Passport Authentication ، شناسائی کاربران بر اساس سرویس وب ارائه شده توسط  Passport.com صورت می پذیرد . در روش فوق ، تائید کاربران  متمرکز و پس از تائید آنان ، امکان استفاده از سایر سایت هائی که از Passport Authentication  استفاده می نمایند ، وجود خواهد داشت .اطلاعات کاربران در یک پروفایل و بر روی سایت Passport.com ذخیره  و سایر سایت های متقاضی که نیازمند تائید کاربر به منظور ارائه خدمات خود می باشند ، می توانند ازاطلاعات کاربران استفاده نمایند . مهمترین ویژگی روش  Passport  Authentication  ، استفاده از یک نام و رمز عبور به منظور استفاده از سایت های متعدد می باشد . فرآیند تائید کاربران در روش فوق، بصورت زیر است :

پس از درخواست یک صفحه ایمن توسط سرویس گیرنده ، درخواست وی در ابتدا برای IIS ارسال می گردد.

IIS ، کاربر را به عنوان Anonymous تائید و درخواست وی را برای ASP.NET ارسال می نماید .

ASP.NET ، بررسی لازم در خصوص وجود یک کوکی خاص را بر روی سرویس گیرنده انجام خواهد داد . در صورتیکه کوکی مورد نظر بر روی کامپیوتر سرویس گیرنده موجود نباشد ، درخواست کاربر نادیده گرفته شده و وی به وب سایت Passport.com  به منظور تائید صلاحیت ، هدایت می گردد .

 سایت Passport.com ، یک فرم Login را تولید و برای سرویس گیرنده ارسال می نماید .سرویس گیرنده اطلاعات Logon را در آن درج و مجددا" اطلاعات را برای سایت Passport.com ارسال می نماید .

در صورتیکه اطلاعات درج شده توسط کاربر ( نام و رمز عبور) با اطلاعات موجود در بانک اطلاعاتی پاسپورت مطابقت نماید ، Passport.com سرویس گیرنده را تائید و یک کوکی به همراه اطلاعات ذیربط ( مشابه یک بلیط ) برای وی ارسال می نماید .

درخواست سرویس گیرنده مجددا" برای سرویس دهنده و این مرتبه به همراه مجوز صادر شده توسط Passport.com ، ارسال می گردد. IIS ، مجددا" سرویس گیرنده را به عنوان Anonymous تائید و درخواست وی را برای برنامه وب ASP.NET ارسال می نماید .

برنامه وب ASP.NET تائید کاربر را بر اساس مجوز صادر شده برای وی توسط Passport.com ، انجام داده و صفحه وب درخواستی  را برای سرویس گیرنده ارسال می نماید .

پس از تائید کاربر توسط Passport.com ، امکان دستیابی وی به سایر وب سایت هائی که از روش Passport  Authentication استفاده می نمایند ، وجود خواهد داشت .

فعال نمودن روش Passport  Authentication
به منظور استفاده از روش Passport  Authentication  در یک برنامه وب ، می بایست Passport SDK را بر روی سیستم نصب نمود. ( برای دریافت نرم افزار می توان از آدرس http://msdn.microsoft.com/download ، استفاده نمود ) . برای فعال نمودن روش PassportAuthentication  مراحل زیر  را دنبال می نمائیم :

نصب Passport SDK . ( با اینکه نرم افزار فوق به همراه ویژوال استودیو ارائه نشده است ،ولی فریمورک دات نت دارای کلاس های لازم به منظور کار با Passport SDK پس از نصب آن می باشد ) .

اعمال تغییرات لازم در  فایل Web.config : نوع Authentication  به Passport  و  مقدار عنصر Authorization به Deny برای کاربران تائید نشده 

استفاده از رویداد PassportAuthentication_OnAuthenticate به منظور دستیابی به پروفایل اطلاعات کاربران و شناسائی آنان 

پیاده سازی  روتین Sign-out به منظور حذف کوکی های Passport از روی ماشین کاربران

فایل Web.config  زیر ، روش Passport  Authentication  را فعال و تمامی کاربران را ملزم به تائید به منظور استفاده از برنامه وب می نماید .

Web.Config  setting

 <authentication mode="Passport" />
<authorization>
     <adeny users="?" />  
</authorization>

زمانیکه برنامه وب بصورت محلی و با توجه به تنظیمات فوق ، اجراء می گردد ، کاربر مستقیما" به صفحه Signin  پاسپورت هدایت می گردد. در صورتیکه نسخه unlicense  نرم افزار Passpport SDK ، نصب شده باشد ، صفحه Signin مشابه صفحه ارائه شده در زمان بکارگیری واقعی یک سایت نخواهد بود. پس از Sign in کاربر ، Passport کوکی تائید کاربر را بر روی ماشین سرویس گیرنده ذخیره و وی را به صفحه اولیه درخواستی هدایـت و  یک پروفایل اطلاعاتی در ارتباط با کاربر را ذخیره می نماید . به منظور دستیابی به پروفایل فوق می توان از رویداد PassportAuthentication_OnAuthenticate ، در Global.asax استفاده نمود :

Global.asax module

 Imports System.Web.Security
Private Sub PassportAuthentication_OnAuthenticate( ByVal  Sender As Object , ByVal e As PassportAuthenticationEventArgs )
  If e.Identity.IsAuthenticated Then
       Response.Write(" Name : " & e.Identity.Item("FirstName")  &" " &  e.Identity.Item("LastName") & "<br>")
       Response.Write("Address : " & e.Identity.Item("City") & "  " & e.Identity.Item("PostalCode") & "<br>" )
       Response.Write("Email  : " & e.Identity.Item("PreferredEmail") & "<br>" )
       Response.Write("Passport ID :   " & e.Identity.Name & "<br>" )
   End If
End Sub

کد فوق ، نام ، آدرس و سایر اطلاعات کاربر را از طریق پروفایل مربوطه  دریافت و آنان را نمایش می دهد.
مجوز صادر شده Passport به همراه اطلاعات پروفایل در پنج کوکی جداگانه بر روی ماشین سرویس گیرنده ، ذخیره می گرندد. پس از Sign out کاربر از برنامه وب ، می بایست کوکی های فوق حذف گردند . رویداد زیر ، نحوه  عملیات Sign out را از طریق حذف کوکی های مرتبط با Passport نشان می دهد :

Sign out Event Procedure

Private Sub butSignOut_Click ( ByVal sender As System.Object , ByVal e As System.EventArgs ) Handles butSignOut.Click
   Response.Cookie("MSPProf").Expires          = Now
   Response.Cookie("MSPAuth").Expires        = Now
   Response.Cookie("MSPSecAuth").Expires  = Now
   Response.Cookie("MSPProfC").Expires        = Now
   Response.Cookie("MSPConsent").Expires   = Now
   Response.Redirect("UserInfo.aspx") 
End Sub
netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.netآموزشasp.

آموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآموزش asp.netآم





نوع مطلب :
برچسب ها :
لینک های مرتبط :

 
لبخندناراحتچشمک
نیشخندبغلسوال
قلبخجالتزبان
ماچتعجبعصبانی
عینکشیطانگریه
خندهقهقههخداحافظ
سبزقهرهورا
دستگلتفکر


درباره وبلاگ

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

مدیر وبلاگ : ارش کاکاوند
مطالب اخیر
نویسندگان
صفحات جانبی
نظرسنجی
شما کدام یک از برنامه های زیر را برای طراحی وب انتخاب می کنید؟








جستجو

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