در بخش اول اين مقاله به تشريح انواع 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 |
نام بانک اطلاعاتی |
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() |
مثال 2 - نحوه اتصال به يک بانک اطلاعاتی Access با استفاده از يک OleDbConnection و ويژوال بيسيک
پارامتر |
مقدار |
Product |
Microsoft Access 2000 |
Database location | SamplesNorthwind.mdb |
نحوه اتصال به بانک اطلاعاتی |
|
Dim cnNorthwind as New _ |
مثال 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 |
ساده ترين روش تنظيم يک Connection string استفاده ار ويژوال استوديو دات نت است :
-
برنامه ويژوال استوديو را فعال نمائيد.
-
يک ASP.NET Application و يا Windows Application را با استفاده از VB ، ايجاد نمائيد.
-
کنترل SqlConnection را بر روی فرم مورد نظر قرار دهيد( Darg&Drop ) .
-
در پنجره Properties ، خصلت ConnectionString را تنظيم نمائيد.
-
پنجره ويرايشگر کد را فعال و کدی را که بصورت اتوماتيک ايجاد شده است ، مشاهده نمائيد.
در بخش سوم اين مقاله بررسی نحوه مديريت يک Connection خواهيم پرداخت .
نظرات شما عزیزان: