روش های کنترل دستيابی کاربران به برنامه های وب دات نت New Page 1



ساير




 

 

 

SAKHA RAVESH CO.

 ا مروز

 چهارشنبه  6  ارديبهشت  1396  2017  Apr.  26   Wendesday ToDay
صفحه اصلی  مقالات نکته هادايره المعارف خودآموزها | تازه ها خود آزمون ها    
  نسخه قابل چاپ  

    5 4 3 2 1 

 عنوان

 نويسنده

  مشاهده

 تعداد آراء

 امتياز

 امنيت برنامه های وب ( بخش پنچم )

 مديريت وب

11701

5

3.6

با توجه به جایگاه داده در عصر حاضر و  لزوم نگاه جامع به این مقوله مهم ، بر آن شدیم تا محوریت فعالیت های خود را بر  روی این موضوع متمرکز نمائیم . از این رو گروه فابک با شعار فناوری اطلاعات برای کسب وکار شکل گرفت و  خدمات خود  را از طریق  سایت www.fabak.ir  به مخاطبان محترم عرضه می نماید

 

امنيت برنامه های وب ( بخش پنچم )

امنيت برنامه های وب ( بخش پنچم )

 آنچه تاکنون گفته شده است :

در بخش پنجم اين مقاله به بررسی 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



جستجو

مقالات                 
دايره المعارف       
دوره های آموزشی


 

 

مشاهده گروه ها



              

 

 تهيه شده در شرکت سخا روش -  1382