سؤال

لدينا تطبيق ASP.NET يعمل في موقع العميل الذي يستخدم ActiveDirectory لتسجيل دخول المستخدم عبر ActiveDirectoryMembershipProvider.وحدة تحكم المجال الأساسية الخاصة بهم والتي كنا نشير إليها تعطلت هذا الصباح، وأثناء إعادة ضبط كل شيء مرة أخرى، كان العميل يتساءل عما إذا كان بإمكاننا الحصول على اتصال متكرر بوحدتي تحكم بالمجال؛أي.تحديد خادم AD الأساسي والنسخ الاحتياطي.أثبت بحث Google أنه غير مثمر - هل يعرف أحد ما إذا كان من الممكن القيام بذلك؟

هل كانت مفيدة؟

المحلول

إذا لم يتمكن ActiveDirectory من التعامل مع وحدات تحكم المجال المتعددة، فلن تكون هذه تقنية جيدة جدًا.

تحتاج فقط إلى التأكد في تكوين العضوية الخاص بك من أنك تشير إلى "المجال" بدلاً من "الخادم" ثم قم بإضافة وحدتي تحكم أو أكثر إلى المجال الخاص بك.

بشكل عام، إذا كنت تشير إلى المجال باسم "LDAP://server/DC=domain,DC=com" فيجب أن تكون قادرًا على إزالة جزء "الخادم" والإشارة ببساطة إلى "LDAP://DC=domain,DC" =كوم"

يقدم مشروع التعليمات البرمجية التالي قائمة طويلة من الأشياء التي يمكنك القيام بها في Active Directory من C#: http://www.codeproject.com/KB/system/everythingInAD.aspx#7

نصائح أخرى

يمكن القيام بذلك، وسوف يستغرق الأمر بعض العمل فقط.

ستحتاج إلى إنشاء فئة ترث ActiveDirectoryMemberhsipProvider واستخدامها مع المزود الخاص بك بدلاً من ذلك.بهذه الطريقة يمكنك الحفاظ على معظم الوظائف.ثم قم بإعداد طريقة لتحديد خاصيتين ConnectionStringName، واحدة للأساسية والأخرى للثانوية.ستحتاج أيضًا إلى إنشاء التعليمات البرمجية لقراءة المعلومات من التكوين نظرًا لأنك تقوم بتغييره.ثم قم فقط بتجاوز الأساليب التي تحتاج إلى التقاطها عندما يكون الملف الأساسي معطلاً والانتقال إلى الثانوي.ستكون هذه هي الطريقة الأكثر قابلية لإعادة الاستخدام للقيام بذلك.

من المحتمل أن تكون هناك طرق أخرى للقيام بذلك، ولكن من المحتمل أن تكون مخترقة وغير قابلة لإعادة الاستخدام.مثل اختبار الاتصال قبل كل طلب ثم تعيين سلسلة الاتصال بهذه الطريقة.

على أساس وثائق MSDN في الفصل الدراسي، ربما تكون هذه هي الطريقة الوحيدة للقيام بذلك.أنها لا توفر الوظيفة الداخلية.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top