2013-06-21 3 views
5

मैं एक क्लाइंट प्रोग्राम बना रहा हूं जो इंटरनेट के माध्यम से डब्ल्यूसीएफ सेवा के साथ बातचीत करता है। सब कुछ इरादे के रूप में काम करता है लेकिन मैं सोच रहा हूं कि मैं अपनी सेवाओं की रक्षा कैसे कर सकता हूं ताकि केवल मेरा ग्राहक कार्यक्रम इसका उपयोग कर सके?डब्ल्यूसीएफ सेवा - कैसे रक्षा करें ताकि केवल मेरे ग्राहक इसका उपयोग कर सकें?

अभी मेरी सेवाओं के सही यूआरएल वाले सभी लोग इसे WCFTestClient (उदा।) के साथ उपयोग कर सकते हैं।

इसे निजी बनाने का सबसे अच्छा तरीका क्या है, इसलिए केवल मेरे ग्राहक सेवा का उपयोग कर सकते हैं? टोकन तार घूर्णन? प्रमाणपत्र? पारण शब्द?

मुझे कोई जानकारी नहीं है और इंटरनेट पर कुछ भी उपयोगी नहीं मिला है।

सादर

अद्यतन: क्लाइंट प्रोग्राम सार्वजनिक (सभी) के लिए डाउनलोड किया जा करने का इरादा है। तो यह आंतरिक उपयोग के लिए नहीं है, यह एक ऐसी सेवा होगी जो हम प्रदान करेंगे, आधिकारिक उत्पादन में से एक।

मेरी अपनी सोच इस तरह थी: मेरे क्लाइंट प्रोग्राम में प्रमाणपत्र प्रमाणित करें (यदि यह संभव भी है?)। आईआईएस पर जहां डब्ल्यूसीएफ सेवा चल रही है, वैध प्रमाण पत्र की जांच करें। क्या यह संभव है? या वहाँ बेहतर समाधान वहाँ?

+1

http://msdn.microsoft.com/en-us/ पत्रिका/सीसी 163570.aspx – Rohit

+0

आईआईएस में आप इसे सक्षम कर सकते हैं ताकि क्लाइंट या आईपी रेंज का केवल एक ज्ञात आईपी इसे कॉल कर सके। – Kyle

+0

से नीचे सूचीबद्ध एसएसएल, क्रेडेंशियल्स इत्यादि के साथ एक लंबा हाय, माफ करना, मैं काफी विशिष्ट नहीं था। क्लाइंट प्रोग्राम, जो उत्पादन में है, हर किसी के लिए होना चाहिए। इसलिए मुझे ग्राहकों के आईपी पते नहीं पता हैं। मैं मूल रूप से इस तरह से चाहता हूं कि मेरे ग्राहक के पास सेवा के खिलाफ कुछ प्रकार का प्रमाणीकरण है, इसलिए सेवाओं को सार्वजनिक/मेहमानों के लिए बंद कर दिया गया है। – user1281991

उत्तर

1

Protect .net Web Service URL

अन्य उत्तर के साथ साथ, कि बुरा भी नहीं किया जा सकता और आप टोकन प्रणाली है, जहां ग्राहकों को पाने के लागू कर सकते हैं अगर आप सुपर सावधान रहना चाहता हूँ आपके द्वारा पहला टोकन, प्रत्येक अनुरोध एक नया टोकन देता है, और आप हमेशा क्लाइंट बनाम वर्तमान टोकन (लेकिन यह मेरी राय में सावधान रहना है)

अद्यतन - क्योंकि यह जनता के लिए है, ग्राहक के पास एक हो सकता है सर्वर पर जांच करने के लिए एक वैध टोकन उत्पन्न करने का तरीका, आप एक टोकन हो सकता है va सेकंड के अंतराल के लिए ढक्कन, इसलिए यदि लोगों ने अनुरोध पकड़ा और टोकन पाया, तो यह ..15 सेकंड या 30 के बाद मान्य नहीं होगा, आदि

+0

हाय रॉय, मैंने टोकन के विचार के बारे में भी सोचा। लेकिन मेरे पास इसके बारे में एक सवाल है। क्या मुझे डब्ल्यूसीएफ सेवा के साथ उपयोग की जाने वाली हर विधि में टोकन पास करना होगा? या इसे लागू करने का एक और तरीका है? – user1281991

+0

आप समय के आधार पर टोकन जनरेटर बनाते हैं - या जो कुछ बदल रहा है उसके आधार पर, लेकिन क्लाइंट और सर्वर में अभी भी वही है, और आप प्रत्येक अनुरोध के साथ टोकन पास करते हैं, यह भी ग्राहक जानकारी पर निर्भर हो सकता है और होना चाहिए, सर्वर सिर्फ एक ही टोकन उत्पन्न करता है और दोनों टोकन की जांच करता है। लेकिन हाँ, आपको हर अनुरोध के साथ टोकन भेजना होगा :) –

+0

ठीक है, रॉय बहुत बहुत धन्यवाद। यही मैंने सोचा था। हालांकि मैं एक बेहतर तरीका की उम्मीद कर रहा था: डी – user1281991

1

आप प्रपत्र प्रमाणीकरण का उपयोग कर रहे हैं तो आप ASP.NET का लाभ उठाने

आवश्यक

को AspNetCompatibilityRequirementsMode को सक्षम करने से या यदि आपकी सेवा अकेले खड़े यानी तो आप OAuth प्रमाणीकरण का उपयोग कर सकते हर किसी के द्वारा सेवन किया जाता है है FormAuthentication कुकी के लिए जाँच करने के लिए कर सकते हैं आप इसके बारे में अधिक पढ़ सकते हैं Oauth Authentication

आप क्या कर सकते हैं एक उपभोक्ता गुप्त कुंजी होगी जो सभी प्रमाणीकृत ग्राहकों को साझा की जाएगी। कॉलर इस कुंजी का उपयोग करके कुछ जानकारी पर हस्ताक्षर करेगा और सर्वर एक ही कुंजी का उपयोग करके इसे साइन करेगा और फिर इसकी तुलना करेगा।

आशा है कि यह मदद करता है

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

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