سؤال

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

سيقوم العملاء الداخليون بالاتصال بالخدمة باستخدام TCP. يجب على عملاء سطح المكتب المستخدمين من قبل موظفينا المصادقة على الخدمة باستخدام بيانات اعتماد المجال الخاصة بهم (Active Directory). إلى جانب أن لدينا عدد صغير من التطبيقات التي تستخدم الخدمة لمعالجة البيانات. نود إصدار شهادة لهذه الطلبات. سيقومون بعد ذلك بالمصادقة من خلال STS باستخدام تلك الشهادة ويتم إرجاع الرمز المميز الذي يحتوي على مطالبات لهذا التطبيق. هل هذا ممكن؟

سيقوم العملاء الخارجيون بالاتصال من خلال HTTP ، أو المصادقة باستخدام اسم المستخدم/كلمة المرور (عميل الويب) ، أو عن طريق شهادة مثلما هو مذكور أعلاه.

هل هذا سيناريو صالح؟ كيف يمكنك تنفيذ هذا في WIF؟ هل يمكنك توجيهي إلى بعض المقالات التي تعتقد أنها ستساعد؟ هل يمكنني حل هذا عن طريق وجود STS واحد (WCF) أو هل أحتاج إلى أكثر من واحد؟ هل يمكن لشركة STS واحدة التعامل مع أكثر من نوع واحد من بيانات الاعتماد (AD/اسم المستخدم/الشهادة)؟

شكرا لكم مقدما. أي مساعدة سوف تكون محل تقدير كبير.

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

المحلول

نعم ، يمكن تحقيق ذلك بسهولة مع WCF و WIF. تحتاج فقط إلى تنفيذ أو خدمة STS ، مع ثلاث نقاط نهاية WCF. نقطة نهاية واحدة لـ Net.tcp مع مصادقة Windows ، ونقطة نهاية واحدة للتصديق مع الشهادات (يمكن أن تكون أمن الرسائل مع بيانات اعتماد عميل X509 أو أمان نقل HTTP WIHT X509) ، ونقطة نهاية أخرى اسم المستخدم وكلمة المرور. قد ترغب في إلقاء نظرة على مجموعة Sts Starter من Dominick Baier ، وأعتقد أنه قدم بالفعل تنفيذًا لذلك في هذا المشروع.

إنها مسألة تعريض خدمة STS بنقطتين نهائيتين على النحو التالي ،

ADFs غير مطلوب إذا كنت تستخدم WIF. ADFS هو حل الاتحادي يتكامل مع AD ، ويصعد STS فوقه. يمكنك دائمًا تنفيذ STS الخاص بك وفضح نقطة نهاية إضافية لمصادقة Windows في تكوين الربط

شكرا بابلو.

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