في الجزء الأول من سلسلة مقالات خدمة اتصال البيانات كنا قد ذكرنا بأن استخدام الخيار الأول Connect with User’s Identity ليس الخيار الأفضل للاتصال بمصدر البيانات عند الاتصال بقاعدة البيانات MS SQL Server وذلك كما في الشاشة التالية:
وأيضاً ذكرنا بأن الخيار الأفضل هو استخدام خدمة تخزين التوثيق Secure Store Service, وفيما يلي شرح لكيفية استخدام هذه الطريقة.
أولاً يجب التأكد من إنشاء خدمة تخزين التوثيق Secure Store Service من خلال موقع الإدارة المركزية Central Administration وذلك باتباع الخطوات التالية:
في الشاشة السابقة يجب تحديد اسم للخدمة الجديدة, إضافة إلى اسم خادم قاعدة البيانات حيث سيتم إنشاء قاعدة بيانات خاصة بالخدمة الجديدة, إضافة غلى اسم قاعدة البيانات. وبعد إنشاء الخدمة بشكل ناجح تظهر شاشة مشابهة للشكل التالي:
بعد إنشاء الخدمة السابقة اضغط على اسم الخدمة لضبط إعداداتها بحيث نستخدمها مع خدمة اتصال البيانات:
وقد يظهر الخطأ التالي عند محاولة إدارة الخدمة الجديدة:
وقد يظهر خطأ في سجلات ويندوز تفاصيله هي:There are no addresses available for this applicationوأول ما يجب فحصه في حال ظهور الخطأ السابق هو خدمة تخزين التوثيق, حيث يجب تشغيل مثيل عن هذه الخدمة على أحد خوادم بيئة شيربوينت 2010 الحالية وذلك باتباع الخطوات التالية:
بعد تشغيل الخدمة السابقة يجب تنفيذ الأمر iisreset.
بعدها يجب الآن الضغط على اسم الخدمة لضبط إعداداتها بحيث نستخدمها مع خدمة اتصال البيانات:
الآن يجب الضغط على الزر Generate New Key لتهيئة الخدمة الجديدة:
يجب الآن إدخال سلسلة محارف سيتم استخدامها في عملية تشفير البيانات المرتبطة بخدمة تخزين التوثيق Secure Store Service, علماً أنه يُفضل الاحتفاظ بهذه المعلومة ضمن وثائق بيئة عمل شيربوينت. بعد تنفيذ الخطوة السابقة تظهر الرسالة التالية:
الآن يجب الضغط على زر New لتوليد تطبيق مستهدف Target Application جديد سيتم استخدامه لاحقاً مع خدمة اتصال البيانات BCS:
الخطوة التالية هي لتحديد مجموعة المستخدمين أو مستخدم واحد قادر على إدارة التطبيق المستهدف لاحقاً بعد إنشائه, وهنا يمكن إدخال اسم أي مستخدم على المجلد النشط Active Directory:
بعد إنشاء التطبيق المستهدف تظهر الشاشة التالية:
الآن يجب تحديد قيم الحقول التي تم تعيينها سابقاً وذلك بالضغط على Set Credentials:
في الشكل السابق قيمة Credential Owner تُعبر عن المستخدم الذي يمتلك معلومات المصادقة, أي في حال أن المستخدم حاول استعراض معلومات القائمة الخارجية التي تعتمد على نوع محتوى خارجي يستخدم الخيار Connect with Impersonated Custom Identity فإن المعلومات SQL Username/SQL Password سيتم استخدامها لتنفيذ عملية الوصول إلى البيانات المخزنة في قاعدة البيانات MS SQL Server. أما بالنسبة لقيم SQL Username/SQL Password فهي اسم مستخدم وكلمة المرور على MS SQL Server لديها الصلاحيات للوصول إلى قاعدة البيانات التي تم استخدامها في المقالة السابقة.
بعد تنفيذ الخطوات السابقة يجب تعديل معلومات الاتصال بمصدر البيانات لنوع المحتوى الخارجي الذي تم إنشاؤه في المقالة الأولى وذلك من خلال برنامج SharePoint Designer 2010 كما يلي:
في الشاشة السابقة قيمة الحقل Secure Store Application ID هي اسم التطبيق الهدف الذي تم إنشاؤه في بداية هذه المقالة وهي SharePoint4ArabBCS.
بعد تنفيذ جميع الخطوات السابقة افتح الصفحة الرئيسية للقائمة الخارجية التي تم إنشاؤها في المقالة الأولى, وهنا قد تواجه حالتين, الأولى هي في حال استخدام نفس المستخدم المحدد في قيمة Credential Owner للوصول إلى القائمة الخارجية فيجب أن تظهر البيانات بشكل ناجح بدون أي فشل في العملية, أما في حال استخدام مستخدم آخر فستظهر الشاشة التالية:
وذلك لأن شيربوينت حاول الوصول إلى قاعدة البيانات بالاعتماد خدمة تخزين التوثيق, لكن بما أن مالك Owner اسم المستخدم وكلمة المرور هو شخص آخر فيجب إدخال معلومات الوصول إلى قاعدة البيانات مرة أخرى بشكل صحيح من خلال الضغط على الرابط السابق عندها ستظهر الشاشة التالية:
اضغط على "المتابعة إلى هذا الموقع":
وبعدها اضغط على "موافق" لتظهر المعلومات مرة أخرى في قاعدة البيانات الخارجية.
في نهاية هذه المقالة هناك سؤال مهم جداً يجب طرحه, وهو هل يجب إضافة معلومات توثيق Credentials لكل مستخدم للوصول إلى معلومات قاعدة البيانات؟! والجواب هو لا طبعاً, والمقالة التالية ستكون مخصصة لهذا الموضوع.
الخميس، 4 أغسطس 2011
خدمة اتصال البيانات - 02
الاشتراك في:
تعليقات الرسالة (Atom)
السلام عليكم أخي إسماعيل
ردحذفتحية إجلال وتقدير، وأرجو أن تكمل هذه المجموعة وألا تتوقف عنها، فهي في غاية الإفادة
قلت أنه يجب إعطاء اسم المستخدم المسجل حاليا على الموقع سماحيات الاتصال على قاعدة البيانات فماذا عن المستخدمين (Claim auth users)
ردحذفمساعد كونان :
ردحذففي الخطوة الثانية في شاشة (New Secure Store Target App) أرجو تعديل الحقل الثاني إلى (Password)
شكراً على الملاحظة, تم تحديث الصورة التي تعرض اسم المستخدم وكلمة المرور
ردحذفعرفنا الخيار الأول والثالث مع استخدم (secure store key) لكن ما هو الخيار الثاني (Connect with Impersonated Windows Identity)
ردحذفالخيار الثاني Impersonated Windows Identity يتوقع أن معلومات المستخدمة للاتصال بقاعدة البيانات هي اسم مستخدم/كلمة مرور من المجلد النشط Active Directory ويجب إدخاله بالشكل DOMAIN_NAME\USERNAME
ردحذفهذا الي حبيت اوصله ... حلو يعني ما نحتاج (secure stored key) وكذا نكون اختصرنا الخطوات
ردحذفلا, يجب استخدام Secure Stored Key مع الخيارين الثاني والثالث, ولكن بدلاً من اختيار SQL Username/SQL Password يجب اختيار Windows Username/Windows Password
ردحذفالأخ فادي, في حال أن تطبيق الويب Web Application يعتمد على المصادقة باستخدام الطلبات Claims Based Authentication فإنه عند اختيار Credential Owner لن يختلف أي شيء, ولكن في حال تطبيق المصادقة باختيار النماذج أيضاً فإنه عند اختيار المستخدم لـ Credential Owner يجب مراعاة وجود مستخدمين ضمن قسم Forms Auth أثناء البحث عن المستخدمين, وبالتالي فإن Secure Store Service تعمل في جميع الحالات بالشكل المناسب
ردحذفعند تحديد قيم الحقول بالضغط على Set Credentials
ردحذفماذا لو أنه يتم تسجيل الدخول إلى SQL Server عن طريق Windows Authentication؟
في حال أن الوصول إلى SQL Server يتطلب Windows Authentication فعند ذلك في الخطوة الثانية من إنشاء تطبيق Application يجب اختيار Windows User Name و Windows Password وباقي الخطوات هي ذاتها
ردحذفدراس جميل و لكن لم استطع التطبيق نتيجة
ردحذفانه في manage application service
في قائمة جديد لم اجد
Secure Store Service
على الرغم من ان اصدار الشيربوينت لدي هو
fundation
اتمنى الاجابة على سؤالي و لك جزيل الشكر
لا تتوفر الخدمة Secure Store Service في SharePoint Foundation, متوفرة فقط في SharePoint Standard and Enterprise
ردحذف