2011-02-04 13 views
7

दोनों के लिए डब्ल्यूसीएफ प्रमाणीकरण के साथ डील-टू डील मैं सिल्वरलाइट और डब्ल्यूपीएफ क्लाइंट इंटरफ़ेस दोनों को लक्षित करने वाले एप्लिकेशन के लिए डब्ल्यूसीएफ प्रमाणीकरण से निपटने के लिए सलाह की तलाश में हूं।सिल्वरलाइट 4 और डब्ल्यूपीएफ आवेदन

संपादित करें: दरअसल, मुझे प्रमाणीकरण मोड की आवश्यकता है उपयोगकर्ता नाम/पासवर्ड संयोजन।

इसके अलावा, भविष्य में आवेदन (एक ही आवेदन के भीतर एक ही कंप्यूटर पर दोनों क्लाइंट (WPF) और सर्वर) पूर्ण स्टैंडअलोन मोड में काम करने के लिए सक्षम होना चाहिए। तो क्या मुझे उस मामले में डब्ल्यूसीएफ का उपयोग नहीं करना चाहिए?

संपादित करें: एक और अतिरिक्त, भविष्य में फिर से एप्लिकेशन को स्थानीय नेटवर्क क्लाइंट-सर्वर मोड (लेकिन आईआईएस के बिना) में एक गेम की तरह काम करने में सक्षम होना चाहिए। तो क्या मुझे उस मामले में डब्ल्यूसीएफ का उपयोग नहीं करना चाहिए? या कोई अन्य विकल्प?

+0

मुझे कुछ समान की आवश्यकता थी और विभिन्न बिल्टिन विकल्पों की समीक्षा करने के बाद एक संदेश निरीक्षक http://msdn.microsoft.com/en-us/library/aa717047.aspx का उपयोग करने का निर्णय लिया गया। इसका उपयोग करके मैं क्लाइंट और सेवा कार्यान्वयन तर्क के बाहर हेडर में डेटा इंजेक्ट कर सकता था। – Michael

उत्तर

1

आप UserNamePasswordValidator से इनहेरिट करते हैं और इस तरह अपने व्यवहार विन्यास में customUserNamePasswordValidatorType की स्थापना करके अपने खुद के सत्यापनकर्ता लागू कर सकते हैं आपकी सेवा की उपयोगकर्ता नाम/पासवर्ड संपत्ति।

0

प्रमाणीकरण सेवा का उपयोग करके इस समाधान को देखें। मुझे यह पसंद है और एक त्रिकोणीय मंच आवेदन (वेब ​​/ SL/WPF)

http://msdn.microsoft.com/en-us/library/system.web.applicationservices.authenticationservice.aspx

नमूना कार्यान्वयन के लिए लिंक का पालन करें के लिए इसका इस्तेमाल करने का फैसला किया।

इस तरह, आप एक क्लासिक कस्टम एएसपी .NET सदस्यता प्रदाता कार्यान्वयन (यहां तक ​​कि एक स्टैंडअलोन क्लाइंट में भी भरोसा कर सकते हैं) पर भरोसा कर सकते हैं।

+0

मैंने पहले से ही प्रमाणीकरण सेवा पर देखा है, लेकिन क्या यह मेरे आवेदन के "वायदा" संस्करणों के साथ प्रयोग में वर्णित है? –

+0

आप एक क्लासिक डिस्कनेक्ट किए गए डेस्कटॉप एप्लिकेशन में कोई एएसपी .NET सदस्यता प्रदाता का उपयोग कर सकते हैं, कोई समस्या नहीं। – Jeff

+0

बिना किसी HttpContext के ASP.NET सदस्यता प्रदाता का उपयोग कैसे करें? एक स्टैंडअलोन डब्ल्यूपीएफ आवेदन की तरह। –

0

आईआईएस डब्ल्यूसीएफ सेवा की मेजबानी के लिए एक आवश्यकता नहीं है। विभिन्न होस्टिंग विकल्पों के लिए इस link पर एक नज़र डालें। इसके अलावा डब्ल्यूसीएफ विभिन्न प्रोटोकॉल पर संचार की अनुमति देता है। ऑपरेटिंग प्लेटफार्म और संचार प्रोटोकॉल के आधार पर होस्टिंग विकल्पों के सारांश के लिए इस link पर एक नज़र डालें।

0

वहाँ कुछ तकनीकों कि WCF सेवाओं के प्रमाणीकरण के लिए इस्तेमाल किया जा सकता (X509 प्रमाणपत्रों, टोकन, उपयोगकर्ता नाम/पासवर्ड और खिड़कियों प्रमाणीकरण। Selecting सही क्रेडेंशियल प्रकार (यह मानते हुए जब से तुम Silverlight & उपयोग कर रहे हैं महत्वपूर्ण है।

हैं WPF) कि सेटअप एक विंडोज़ वातावरण में है आप विंडोज प्रमाणीकरण का उपयोग कर सकते हैं। To सक्षम खिड़कियों प्रमाणीकरण चरणों का पालन करें पर प्रकाश डाला और आईआईएस पर अपनी सेवा की मेजबानी।

आशा इस मदद करता है और अच्छी किस्मत !.

0

डब्ल्यूसीएफ का उपयोग करने का लाभ यह है कि यदि आप नेटवर्क के भीतर या बाहरी दुनिया में किसी सेवा का खुलासा करना चाहते हैं तो आप कोड में किसी भी बदलाव के बिना कुछ अतिरिक्त कॉन्फ़िगरेशन बदल सकते हैं/जोड़ सकते हैं।

एक मशीन पर या नेटवर्क के भीतर दोनों क्लाइंट और सर्वर होने की स्थिति में

तो बिल्कुल ठीक है और आसान तरीका 2 अंत उजागर अंक है कि एक ही सेवा पर अपनी आवश्यकताओं से संबंधित है।

आप एक एंडपॉइंट के साथ भी मिल सकते हैं लेकिन अलग-अलग बाध्यकारी तंत्र के साथ विभिन्न अंतराल का उपयोग प्रमाणीकरण के दौरान आपके ओवरहेड को कम कर देता है। पूर्व: जब आप एक ही मशीन पर होते हैं तो आप नेट: पाइप या नेट का उपयोग कर सकते हैं: टीसीपी बाध्यकारी जब आप डोमेन के भीतर होते हैं तो आप नेट: टीसीपी या httpbinding का उपयोग कर सकते हैं।

प्रदर्शन अलग-अलग बाइंडिंग का उपयोग करते समय भिन्न होता है।

<behaviors> 
      <serviceBehaviors> 
       <behavior name=""> 
        <serviceMetadata httpGetEnabled="true" /> 
        <serviceCredentials> 
         <userNameAuthentication userNamePasswordValidationMode="Custom" 
               customUserNamePasswordValidatorType="MyNamespace.MyValidator, MyNamespace" /> 
        </serviceCredentials> 
       </behavior> 
      </serviceBehaviors> 
     </behaviors> 

आप ClientCredentials.UserName में नाम/पासवर्ड संयोजन सेट कर सकते हैं ग्राहक के पक्ष में:

संबंधित मुद्दे