سؤال

أقوم ببناء خدمة ويب يجب أن تكون متاحة لمجموعة متنوعة من المنصات المحتملة ، بما في ذلك عدد من تطبيقات ASP و ASP الأقدم. بعد بعض الأبحاث ، استقرت على خدمة WCF مع كل من REST (WebHTTPBINDING) و SOAP (WSHTTPBINDING) (بهذه الطريقة ، يمكنني دعم مجموعة واسعة من المنصات وأستمر في جعل .NET CODERS سعيدًا).

للأمان ، أنا أستخدم مصادقة SSL و HTTP الأساسية مقابل قاعدة البيانات الخاصة بي من اسم المستخدم/كلمات المرور. لذلك كتبت httpmodule للتعامل مع أسماء المستخدمين وكلمات المرور والتحقق من SSL. الآن ، يعمل إعداد REST بشكل مثالي ، لكنني أواجه مشاكل في نقطة نهاية الصابون. بغض النظر عن الإعدادات التي أستخدمها ، لا يرسل عميل SOAP أبدًا رأسًا للتأمين WWW الذي يمكنني استخدامه للمصادقة. أفترض أن وضع شيء مثل <message clientCredentialType="UserName" /> يجب أن أخبر WCF أنني أتوقع رأس تفويض ، وسيتم التقاط هذه المعلومات بواسطة Visual Studio (أو أي عميل) عندما ينشئ مرجع ويب. ربما أكون مجرد ساذجة ميؤوس منها.

لذا لتلخيص السؤال: هل هناك أي طريقة يمكنني من خلالها إخبار WCF بإرسال رأس إعادة تفويض www (أي رأس HTTP الأساسي) إلى جانب رسائل الصابون؟

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

المحلول

يمكنك إنشاء رؤوس مخصصة للمصادقة الخاصة بك.

الق نظرة هنا

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