परिदृश्य:WCF - सीएमएस में वेब पर नियंत्रण के साथ ग्राहक सुरक्षा
हम एक WCF वेब सेवा है जो हमारे फ़ायरवॉल/DMZ के अंदर एक डेटाबेस से जोड़ता है विकसित किया है। वेब सेवा और क्लाइंट एप्लिकेशन (डेटा कैप्चर वेब फॉर्म) को हमारे इंटरनेट फेस वेब सर्वर पर होस्ट करने की आवश्यकता है। इसका कारण यह है कि यह वेब नियंत्रण है कि हमारे तीसरे पक्ष के सीएमएस (हमारी मुख्य वेबसाइट होस्ट) द्वारा आयोजित किया जाएगा द्वारा पहुँचा जा करने की जरूरत है।
मुद्दा:
हम यह सुनिश्चित करने डेटा के रूप में सुरक्षित रूप से संभव के रूप में पारित किया जा सकता चाहते हैं, लेकिन हम खुद को और अपने सीएमएस प्रदाता (और इसके विपरीत) के बीच साझा करने प्रमाण पत्र के बारे में सतर्क किया जाएगा। हम पसंद करेंगे वेब नियंत्रण https के रूप में की मेजबानी कर रहे हैं लेकिन सभी प्रलेखन मैं पढ़ लिया है इस प्रमाण पत्र को प्रमाणित करने की आवश्यकता है कहते हैं। मैं ग्राहक और एसवीसी के बीच अतिरिक्त कस्टम सुरक्षा लागू करने में देख कर दिया है (कस्टम बाइंडिंग, उपयोगकर्ता नाम/पासवर्ड के पीछे कोड में लागू किया, आईपी पते द्वारा कॉल सीमित है), लेकिन मुझे पता है कि अगर किसी और को इस परिदृश्य भर में आया था चाहता था।
मुझे यकीन है कि एक तृतीय पक्ष किसी एप्लिकेशन के लिए वेब नियंत्रण होस्ट कर रहा है, तो कस्टम सुरक्षा लागू करने के उदाहरण होना चाहिए, लेकिन अब तक मुझे केवल 'यह प्रमाण पत्र या कुछ भी नहीं' टिप्पणियां मिली हैं। किसी भी मदद या मार्गदर्शन की सराहना की। अब तक देखी कई लिंक के
उदाहरण में शामिल हैं:
मैं सुझाव दिया सेटिंग्स को लागू करने देखा है जैसे <wshttpBinding>
और <serviceCredentials>
जबकि एक नया 'सुरक्षित' वर्ग को जोड़ने कस्टम उपयोगकर्ता नाम/पासवर्ड सत्यापनकर्ता शामिल लेकिन "एसवीसी ... विरासत में मिला को लागू नहीं करता सदस्य ..." त्रुटियों प्राप्त करने के लिए नीचे दिए गए में।
<wsHttpBinding>
<binding name="EndpointBinding">
<security mode="TransportWithMessageCredential">
<transport clientCredentialType="None"/>
<message clientCredentialType="UserName"/>
</security>
</binding>
</wsHttpBinding>
<serviceCredentials>
<userNameAuthentication
userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="My.WcfSvc.Authentication.Secure,
My.WcfSvc" />
</serviceCredentials>