امنيت برنامه های وب ( بخش پنچم )
اين مطلب از طريق سايت شرکت سخاروش در اختيار شما گذاشته شده است .

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

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

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

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

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

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

فايل 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


استفاده از اين مطلب  با ذکر منبع و اهداف غيرانتفاعی بلامانع است .
http://www.srco.
ir