.Net कस्टम सदस्यता प्रदाता के उपयोग / लेखन के क्या नुकसान हैं?


12

हाल ही में, मैंने SO पर निम्नलिखित प्रश्न पोस्ट किया: /programming/7197337/use-asp-net-membership-provider-with-an-existing-user-database

जैसा कि आप देख सकते हैं, मैंने अपने स्वयं के प्रश्न का उत्तर देते हुए कहा कि यह एक "कस्टम सदस्यता प्रदाता" को लिखने / लागू करने की तरह लग रहा था।

सचमुच, कुछ ही मिनटों के बाद, मैं इस सवाल पर ठोकर खाता हूँ: /programming/7222306/simple-login-attempt-counter-using-mvc-3-and-ajax/72240407#7222407

मैं जवाब देने और एक टिप्पणी वापस पाने की कोशिश करता हूं। नेट सदस्यता प्रदाता "कई स्तरों पर भयानक" है। मैं मानता हूँ, यह पहली बार है जब मैं सदस्यता प्रदाता का उपयोग कर रहा हूँ, लेकिन यह निश्चित रूप से मेरे लिए अच्छा लग रहा था।

मैंने ऐसा कुछ भी नहीं देखा है जो "भयानक" दावे का समर्थन करता है इसलिए इससे पहले कि मैं कुछ "भयानक" लागू करता हूं, मैं समुदाय से कुछ प्रतिक्रिया प्राप्त करने की उम्मीद कर रहा था।


उत्तरों की प्रतीक्षा में, +1 ..
पंकज उपाध्याय

जवाबों:


1

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

मेरे अनुभव में सदस्यता प्रदाता आपको खरीदता है ...

  • एमवीसी ऐप के लिए पहले से निर्मित साइन अप
  • खाता संपादन
  • पासवर्ड को हुक करना आसान है
  • उपयोगकर्ता विधि मान्य करें

मुझे यकीन है कि कुछ और है जो मुझे याद आ रहा है लेकिन मुझे लगता है कि वे बड़े हैं। अब जब आपको किसी मौजूदा डेटा मॉडल के साथ काम करने के लिए कस्टम पासवर्ड प्रबंधन, दो कारक प्रमाणीकरण की आवश्यकता होती है, या अन्य चीजों की एक पूरी मेजबानी आपको खोना शुरू कर देती है। सदस्यता प्रदान करने के लिए आपके द्वारा पहले से लिखे गए कोड को डुप्लिकेट करने के लिए कुछ दिनों के आदेश पर लेना चाहिए यदि आप जानते हैं कि आप क्या कर रहे हैं।


1

यह वह नहीं करता जो आप चाहते हैं। पहली नज़र में आप पा सकते हैं कि यह आपकी सभी जरूरतों और कुछ का ख्याल रखता है, लेकिन एक नई आवश्यकता सामने आती है। अब आपको 'वास्तव में' यह सीखना है कि यह चीज कैसे काम करती है। इस सभी पूर्वनिर्मित होने का लाभ कम हो जाता है क्योंकि आप सुरक्षा के उस झूठे अर्थ में थे।

@Travis ने एक मौजूदा डेटा मॉडल का उपयोग करते हुए उल्लेख किया है, लेकिन डेटाबेस का विकल्प एक प्रतिबंध भी हो सकता है: Oracle?

मुझे नहीं पता कि यह फेसबुक या Google जैसी 3 पार्टी सत्यापन प्रणालियों के साथ काम करता है या नहीं।


1

वे उतने लचीले नहीं हैं जितने लोग डॉक्स के त्वरित पढ़ने पर सोचते हैं, लेकिन उनके पास उनका स्थान है।

यदि आपको उपयोगकर्ता टोकन पर नियंत्रण की आवश्यकता नहीं है और केवल कस्टम / विस्तारित उपयोगकर्ता डेटा या सदस्यता सेट बनाने की आवश्यकता है या उस डेटा को किसी मौजूदा / अलग स्रोत से खींचने की आवश्यकता है जो उनके पास है।

यदि आप इससे अधिक परिवर्तन करना चाहते हैं, तो आप अक्सर httpmodule को बदलने में बेहतर होते हैं, जो किसी एक प्रदाता को चलाता है, तो आपको सारा नियंत्रण मिल जाता है। अधिकांश लोगों ने मुझे प्रदाताओं के साथ चीजों को तोड़ने का सामना करना पड़ा है, इस स्तर पर उनकी स्थिति के लिए गलत विकल्प बनाया है।

किसी भी तरह से आपको एक अच्छी तरह से आबादी वाला संदर्भ मिल जाता है। यूसर जो आपको अधिकांश asp.net आधारित उपयोगकर्ता कार्यों का उपयोग जारी रखने की अनुमति देता है।


1

यह प्रश्न पुराना है, लेकिन मुझे इसकी लोकप्रियता के लिए बैज मिल रहे हैं, इसलिए मुझे लगता है कि यह एक अद्यतन जवाब देने के लिए इसके लायक है।

Microsoft के "सरल" सदस्यता प्रदाता को अंततः मेरी विनम्र राय में यह सही लगा। यदि आप कुछ नया लिख ​​रहे हैं या यहां तक ​​कि एक नए अनुप्रयोग के साथ एक विरासत डेटाबेस में संलग्न कर रहे हैं। सरल सदस्यता प्रदाता का उपयोग करें। लागू करने के लिए आसान और स्वच्छ। कुछ तालिकाओं को स्थापित करें और प्रदाता को उपयोगकर्ताओं की अपनी सूची में इंगित करें और आप मूल रूप से किए गए हैं।

यह लिंक आपको शुरू हो जाएगा या बस इसे गूगल कर देगा: http://www.mattjcowan.com/funcoding/2012/11/10/simplemembershipprovider-in-mvc4-for-mysql-oracle-and-more-with-llblgen/


सरल सदस्यता प्रदाताओं बस है कि .. सरल
hanzolo
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.