ارتباط به منابع داده در ADO.NET ( بخش دوم )
دهلران پی سی
سایت جامع علمی ,آموزشی,فرهنگی و تفریحی

در بخش اول اين مقاله به  تشريح انواع  Data Provider  پرداخته و با نحوه انتخاب آنان بمنظور استفاده در برنامه ها ، آشنا شديم . در اين بخش به بررسی  نحوه ايجاد يک Connection خواهيم  پرداخت . Connection String ، بخشی ضروری بمنظور ارتباط با يک منبع داده است . خصلت ConnectionString مربوط به  شی Connection ، اطلاعات لازم را  در اختيار شی Connection  قرار می دهد .

امنيت بانک اطلاعاتی
در زمان دستيابی به داده از طريق ADO.NET  ، می بايست با استفاده از يک روش ايمن به بانک اطلاعاتی مرتبط گرديد. بمنظور نيل به هدف فوق ، اطلاعات امنيتی نظير نام کاربر و رمز عبور می بايست قبل از ايجاد هر گونه ارتباط با بانک اطلاعاتی در اختيار وی گذاشته شوند ( ارسال اطلاعات اوليه بمنظور اطمينان از معتبر بودن کاربر  ) .امنيت بانک اطلاعاتی ، بستگی به نوع بانک اطلاعاتی مربوطه خواهد داشت .
استفاده از امنيت سرويس دهنده SQL 
سرويس دهنده SQL ، با استفاده از دو روش متفاوت اقدام به تائيد کاربر می نمايد :  تائيد کاربران بر اساس سيستم امنيتی  ويندوز ( Microsoft Windows Authentication )  و حالت ترکيبی ( Mixed Mode  Authentication  ) .

روش  Windows Authentication 
در مدل فوق ، اين امکان برای يک کاربر فراهم خواهد شد که با استفاده از يک Account  ويندوز به بانک اطلاعاتی مرتبط گردد . خصلت امنيتی شبکه برای کاربر در زمان ورود به شبکه ايجاد می گردد . زمانيکه يک کاربر شبکه سعی در ارتباط با بانک اطلاعاتی سرويس دهنده SQL می نمايد ،عمليات تائيد وی آغاز و در ادامه بر اساس سياست های امنيتی ورود به شبکه که قبلا" برای وی تعريف و تنظيم شده است ، امکان دستيابی وی به بانک اطلاعاتی محقق و يا با درخواست وی بدلايل امنيتی مخالفت خواهد شد . در چنين حالتی ضرورتی به يک Login مجدد ( ورود نام و رمز عبور توسط کاربر) وجود نخواهد داشت . استفاده از روش فوق ، بمنظور ارتباط با بانک اطلاعاتی دارای مزايای زير است :

  • متعبرسازی ايمن بهمراه رمزنگاری رمزهای عبور
  • Auditing
  • تاريخ سررسيد رمز عبور
  • تعريف حداقل طول رمزعبور
  • غير فعال شدن ( قفل نمودن ) رمز عبور پس از انجام چندين تلاش نافرجام جهت ورود به شبکه

نکته : با توجه به اينکه کاربران و گروههای ويندوز ، صرفا" توسط ويندوز نگهداری و پشتيبانی می گردند ، سرويس دهنده SQL اطلاعات مربوط به يک گروه کاربران را در زمان اتصال به بانک اطلاعاتی می خواند . در صورتيکه تغييراتی در رابطه با مجوزهای دستيابی برای يک کاربر متصل شده ايجاد گردد ، تغييرات ايجاد شده  در زمان آتی  که کاربر به سرويس دهنده SQL مرتبط می گردد ؛ در نظر گرفته  شده و متناسب با تغييرات ايجاد شده با کاربر برخورد خواهد شد .

روش Mixed Mode Authentication
در روش فوق ، اين امکان برای کاربران فراهم می گردد که به يک سرويس دهنده SQL بر اساس Windows Authentication و يا SQL Server Authentication  متصل گردند . کاربرانی که از طريق ويندوز NT 4.0 و يا ويندوز 2000 به بانک اطلاعاتی مرتبط می گردند ، قادر به استفاده از ارتباطات trusted در Windows Authentication و يا Mixed Mode Authntication می باشند . زمانيکه کاربری با استفاده از يک نام و رمز عبور خاص و بکمک يک ارتباط non-trusted به بانک اطلاعاتی متصل می گردد ، سرويس دهنده SQL خود عمليات تائيد کاربر را  بررسی می نمايد ( آيا يک account سرويس دهنده SQL پيکربندی و تنظيم شده است ؟) . در صورتيکه ماحصل بررسی فوق منفی باشد ، کاربر تائيد نشده و وی با يک پيام خطاء مواجه خواهد شد.
نکته : در صورتيکه کاربری سعی در ارتباط با يک سرويس دهنده SQL 7.0 ، ( مورد نظر سرويس دهنده SQL 2000 نمی باشد ) را داشته و يک نام خالی ( blank) را وارد نمايد ، سرويس دهنده SQL 7.0 ، از Windows Authentication استفاده می نمايد.علاوه بر اين  ، در صورتيکه کاربری سعی در ارتباط با يک سرويس دهنده SQL 7.0 نمايد که برای Windows Authentication پيکربندی شده باشد ( استفاده از يک Login خاص ) ، login مورد نظر ناديده گرفته شده و از روش Windows Authentication استفاده خواهد شد .
روش SQL Server Authentication بمنظور سازگاری با نسخه های قبلی ارائه شده است . زيرا بر نامه های نوشته شده برای سرويس دهنده SQL 7.0 ، و يا قبل از آن می بايست از نام و رمز عبور سرويس دهنده SQL استفاده نمايند. علاوه بر اين ، زمانيکه يک نمونه از سرويس دهنده SQL تحت ويندوز 98 اجراء می گردد ، چون روش Windows Authentication در نسخه وينوز 98 حمايت نمی گردد ، مجددا" از روش SQL Server Authentication استفاده خواهد شد .بنابراين سرويس دهنده SQL از Mixed Mode  در زمان اجراء ويندوز 98 استفاده می نمايد ( ولی صرفا" SQL Server Authentication حمايت می گردد ) .

Connection String چيست ؟
بمنظور انتقال اطلاعات بين يک منبع داده و برنامه ، می بايست در ابتدا دارای يک ارتباط ( اتصال ) با منبع داده باشيم . خصلت ConnectionString ، اطلاعات ضروری و مورد نياز در ارتباط با تعريف يک اتصال به منبع داده را از طريق يک رشته  مشتمل بر مجموعه ای از پارامترها ، ارائه می نمايد. جدول زير چندين پارامتر متداول در رابطه با Connection string  را نشان می دهد .

توضيحات

پارامتر

از خصلت فوق بمنظور تنظيم و يا برگرداندن نام Provider مرتبط با Connection استفاده می گردد . امکان استفاده از خصلت فوق، صرفا"  برای اشياء OleDbConnection  وجود خواهد داشت .

Provider

مدت زمان  انتظار برحسب ثانيه بمنظور ارتباط با بانک اطلاعاتی را مشخص می نمايد. ( پيش فرض 15 ) .

Connection TimeOut
or
Connect TimeOut

نام بانک اطلاعاتی

Initial Catalog

نام سرويس دهنده SQL استفاده شده در زمانيکه يک Connection فعال شده باشد  و يا نام فايل در رابطه با يک بانک اطلاعاتی Access را مشخص می نمايد .

Data Source

رمز عبور برای SQL Server account

Password

SQL Server Login account

User ID

ايمن بودن ارتباط را  مشخص می نمايد. مقادير مورد نظر می تواند True,False و SSPI باشد . ( SSPI معادل True است )

Integrated Security
or
Trusted Connection

زمانيکه مقدار آن False باشد ، اطلاعات حساس امنيتی نظير رمز عبور بعنوان بخشی از ارتباط (زمانيکه ارتباط فعال می گردد) ، برگردانده نخواهد شد. تنظيم خصلت فوق به True می تواند يک ريسک امنيتی باشد مقدار پارامتر فوق بصورت پيش فرض False است .

Perisist Security Info

نحوه تنظيم يک Connection String
بمنظور ايجاد و مديريت يک Connection می بايست يکی از اشياء Connection مربوط به ADO.NET را استفاده نمود : شی SqlConnection و يا شی OleDbConnection . تنظيم خصلت ConnectionString صرفا" زمانی که Connection بسته می گردد، ميسر خواهد بود . بمنظور Reset نمودن يک Connection String می بايست Connection مورد نظر را بست و مجددا" آن را فعال نمود.


مثال
در اين بخش به بررسی چندين مثال  بمنظور آشنائی با  نحوه استفاده از Connection String  بهمراه پارامترهای مربوطه ، خواهيم پرداخت . دقت داشته باشيد که تمامی Connection String ها ، دارای پارامترهای يکسان نمی باشند .
مثال 1 - نحوه اتصال به يک بانک اطلاعاتی SQL Server 2000  با استفاده از شی SqlConnection و VB.NET 

پارامتر

مقدار

Product

SQL Server 2000

Server name

Tehran

DatabaseName

Northwind
Security Mixed mode
Username sa
Password 110
Timeout 1 minute

نحوه اتصال به بانک اطلاعاتی

Dim cnNorthwind as New _ system.Data.SqlClient.SqlConnection()
cnNorthwind.ConnectionString = _
"User ID = sa;" & _
"Password= 110;" & _
"Initial Catalog=Northwind;"&_
"Data Source =Tehran;" & _
"Connection TimeOut= 60;"

مثال 2 - نحوه اتصال به يک بانک اطلاعاتی Access با استفاده از يک OleDbConnection و ويژوال بيسيک

پارامتر

مقدار

Product

Microsoft Access 2000
Database location SamplesNorthwind.mdb

نحوه اتصال به بانک اطلاعاتی

Dim cnNorthwind as New _
system.Data.OleDb.OleDbConnection( )
cnNorthwind.ConnectionString = _
"Provider = Microsoft.Jet.OLED.4.0" & _
"Data Source= SamplesNorthwind.mdb;"

مثال 3 - نحوه اتصال به يک بانک اطلاعاتی  SQL Server 6.5 با استفاده از شی OleDbConnection و #C

پارامتر

مقدار

Product

SQL Server 6.5

Server name

Myserver

DatabaseName

Pubs
Security Windows authentication

نحوه اتصال به بانک اطلاعاتی

System.Data.oleDb.OleDbConnection cnNorthwind = new
System.Data.OleDB.OleDbConnection ( );
cnNorthwind.ConnectionString = 
"Provider = SQLOLEDB;" +
"Data Source =Myserver;" +
"Initial Catalog= Pubs;" +
"Integrated Security=SSPI;" ;

ساده ترين روش تنظيم يک Connection string استفاده ار ويژوال استوديو دات نت است :

  • برنامه ويژوال استوديو را فعال نمائيد.

  • يک ASP.NET Application و يا Windows Application را با استفاده از VB ، ايجاد نمائيد.

  • کنترل SqlConnection را بر روی فرم مورد نظر قرار دهيد( Darg&Drop ) .

  • در پنجره Properties ، خصلت ConnectionString را تنظيم نمائيد.

  • پنجره ويرايشگر کد را فعال و کدی را که بصورت اتوماتيک ايجاد شده است ، مشاهده نمائيد.

در بخش سوم اين مقاله بررسی نحوه مديريت يک Connection خواهيم پرداخت .


نظرات شما عزیزان:

نام :
آدرس ایمیل:
وب سایت/بلاگ :
متن پیام:
:) :( ;) :D
;)) :X :? :P
:* =(( :O };-
:B /:) =DD :S
-) :-(( :-| :-))
نظر خصوصی

 کد را وارد نمایید:

 

 

 

عکس شما

آپلود عکس دلخواه:








ارسال توسط هادی احمدی

آرشیو مطالب
پيوند هاي روزانه
امکانات جانبی

آمار وب سایت:  

بازدید امروز : 204
بازدید دیروز : 737
بازدید هفته : 1026
بازدید ماه : 1422
بازدید کل : 205410
تعداد مطالب : 736
تعداد نظرات : 23
تعداد آنلاین : 1

Google

در اين وبلاگ
در كل اينترنت
 <-PostTitle-> <-PostContent-> 1 <-PostLink->