asp.net - Why should underlying membership provider decide whether…? -
ए) क्यों CreateUserWizard के साथ टेम्पलेट का उपयोग करते समय नियंत्रण टेक्स्टबॉक्स के साथ आईडी = ईमेल पर निर्भर करता है कि क्या CreateUserWizard.RequireEmail संपत्ति सही पर सेट है, लेकिन टेक्स्ट बॉक्स आईडी = प्रश्न के साथ ही आवश्यक है यदि अंतर्निहित सदस्यता प्रदाता को पासवर्ड प्रश्न की आवश्यकता होती है? दूसरे शब्दों में, यह तय करने के लिए कि क्या टेक्स्टबॉक्स ( आईडी = ईमेल के साथ) की आवश्यकता है, वह भी अंतर्निहित सदस्यता प्रदाता पर निर्भर नहीं होगा?
बी) दूसरी तरफ, यह तय करने के लिए कि क्या पासवर्ड प्रश्न आवश्यक है या नहीं, सदस्यता प्रदाता तक क्यों होगा? यह तय करने के लिए सदस्यता वर्ग तक नहीं होना चाहिए? इसके बाद, सदस्यता प्रदाता की नौकरी सिर्फ अंतर्निहित डेटा स्टोर तक पहुंच प्रदान करने के लिए होनी चाहिए और यह तय करने के लिए नहीं कि डेटा उपयोगकर्ताओं को क्या प्रदान करना चाहिए?!
thanx
<पी>संपादित करें:
ए)
यह तथ्य यह है कि सदस्यता प्रदाता के पास एक स्पष्ट मानचित्रण है: RequiresQuestionAndAnswer, जिसे आप सेट कर सकते हैं और इसे लागू कर सकते हैं, लेकिन आप यह निर्दिष्ट नहीं कर सकते हैं कि उपयोगकर्ता को ईमेल पते की आपूर्ति करनी होगी।
तो आवश्यक है UniqueEmail संक्षेप में बताता है कि उपयोगकर्ता को ईमेल पता निर्दिष्ट करने की ज़रूरत नहीं है, लेकिन अगर वह करती है, तो यह अद्वितीय होना चाहिए?
बी
-
अगर मैं सदस्यता प्रदाताओं को सही ढंग से समझता हूं, तो ये वे संस्थाएं हैं जो एसक्यूएल क्वेरी डेटा संग्रहण ?! इस प्रकार मैं मानता हूं कि उनके पास तालिकाओं और रिश्तों का पूरा ज्ञान है, इस डेटा का संग्रह है?
-
लेकिन फिर भी, यदि डेटा संग्रहण में ईमेल पतों को संग्रहीत करने के लिए एक स्तंभ नहीं है, लेकिन CreateUser () ईमेल पैरामीटर अपने पैरामीटर के रूप में निर्दिष्ट करता है? सदस्यता प्रदाता को कैसे संभालता है?
यह एक दिलचस्प मुद्दा है कि ईमेल अपेक्षित डेटा का हिस्सा है खेत।
मुझे स्पष्ट करें ... अगर आप SQL प्रदाता के लिए आवश्यक करने के लिए RequiresUniqueEmail को सेट करते हैं, तो ईमेल की आवश्यकता नहीं होगी - सटीक बोलना इसका मतलब यह है कि प्रत्येक उपयोगकर्ता को किसी अन्य उपयोगकर्ता से एक अलग ईमेल पते का उपयोग करना होगा। इसलिए एक ईमेल पते के बिना एक उपयोगकर्ता हो सकता है डेटाबेस में एक शून्य मान सेट किया जाएगा लेकिन कोई अन्य उपयोगकर्ता उस ईमेल पते को नहीं छोड़ सकता, क्योंकि इसके कारण दो उपयोगकर्ताओं को रिक्त ईमेल हो सकते हैं ... इसलिए कार्यात्मक रूप से यह आवश्यक ईमेल पते के समान हो सकता है, लेकिन यह तकनीकी रूप से समान नहीं है। / P>
जादूगर नियंत्रण सदस्यता जानकारी एकत्र करने के लिए एक डिफ़ॉल्ट UI प्रदान करता है, और यह मानता है कि आप डिफ़ॉल्ट एसक्यूएल प्रदाता का प्रयोग करेंगे। यदि आप डिफ़ॉल्ट प्रदाता का उपयोग नहीं कर रहे हैं, तो आपका प्रदाता सभी क्षेत्रों का समर्थन नहीं करता है, या आपके पास अपने प्रदाता में अन्य अनन्य बाधाएं हैं, तो आपको अपने स्वयं के टेम्पलेट के साथ विज़ार्ड चरण को कस्टमाइज़ करना चाहिए और अपने स्वयं के सत्यापन प्रदान करने के लिए विज़ार्ड के ईवेंट को प्रबंधित करना चाहिए और उपयुक्त के रूप में अतिरिक्त तर्क।
सदस्यता प्रणाली खुद को समझने के लिए ...
asp.net में सदस्यता प्रणाली सख्त ओओ डिजाइन और सुविधा के बीच एक समझौता है। बेस सदस्यतािप्राइडर वर्ग में कुछ धारणाएं हैं, जिनसे विशिष्ट सदस्यता प्रदाताओं ने वारिस का वारिस किया है। तथ्य यह है कि ई-मेल पते सदस्यता के आंकड़ों का एक हिस्सा होगा जो कि अधिक उदार धारणाओं में आधार प्रदाता बनाता है।
हालांकि उस धारणा को बनाकर, जो कि अधिकांश वातावरणों में सच है, सदस्यता प्रणाली एक साधारण और सहज तरीके से ईमेल पते से संबंधित कुछ कार्यक्षमता का पर्दाफाश कर सकती है (जैसे उपयोगकर्ता को उनके ईमेल पते के बजाय उपयोगकर्ता का नाम और एक ही ईमेल पते के साथ एकाधिक खातों को प्रतिबंधित करना)। यदि आधार वर्ग उस धारणा को नहीं बना देता है, तो हर बार जब आप अपने विशिष्ट प्रदाता में ईमेल के साथ सामान करना चाहते थे, तो आपको उस विशिष्ट प्रकार के संदर्भ डालना होगा जिसका उपयोग आप अपने आवेदन के भीतर कर रहे हैं। यह बोझिल है।
एक विशुद्ध रूप से ओ ओ दृष्टिकोण से, ये मान्यताओं असुविधाजनक हैं। लेकिन आप कर सकते हैं, और कई सदस्यता प्रदाता, आधार क्लास से तरीकों और गुणों के लिए खाली क्रियान्वयन प्रदान करते हैं यदि वे उनका उपयोग नहीं करते हैं।
आप भूमिका प्रदाताओं के साथ यह और अधिक देखते हैं ... उदाहरण के लिए, Windows टोकन भूमिका प्रदाता के पास बहुत सारे सदस्य हैं जो NotImplmentedException (टोकन भूमिका प्रदाता एडी के लिए केवल पढ़ने के लिए प्रदाता है) को छोड़ देता है, इसलिए सभी संपत्ति सेट एक्सेसर्स को अपवाद छोड़ें)।
Comments
Post a Comment