2008-11-12 6 views
5

पहले बंद, मुझे पता है कि यह प्रश्न सीमा रेखा-डुप्लिकेट to this one हो सकता है, और हां, यह थोड़ा विडंबनापूर्ण है कि मैं किसी ऐसे प्रश्न के लिए एक प्रश्न पूछ रहा हूं जिसे मैंने स्वयं भी उत्तर दिया।एएसपीनेट प्रोफाइल और सदस्यता - कस्टम प्रदाता या पूरी तरह से अपना खुद का रोल करना चाहिए?

अब, मैं एएसपीनेट प्रोफाइल के बारे में बात कर रहा हूं। यदि मैं मायने रखता हूं, तो मैं एमवीसी का उपयोग कर एक एप्लीकेशन बना रहा हूं, और मेरा मानना ​​है कि अंतर्निहित प्रोफाइल प्रदाता बेकार है।

तो फिलहाल, मैं खुद से पूछ रहा हूं: क्या मुझे अपनी सलाह का पालन करना चाहिए और एक कस्टम प्रोफाइल प्रदाता लिखना चाहिए, या क्या मुझे अपनी खुद की प्रोफाइल सामग्री पूरी तरह से रोल करना चाहिए?

कुछ मान्यताओं:

  • मैं एक डेटाबेस संरचना में अपने डेटा कि मैं तय चाहते
  • यह एक नया आवेदन, कोई विरासत डेटाबेस संरचना या ग्राहक आधार में मिड करने के लिए एकीकृत किया जाना
  • छोटे की जरूरत है कि - उपयोगकर्ताओं की आकार (अधिकतम ~ 5000 उपयोगकर्ता)
  • एएसपीनेट एमवीसी, सबसे अधिक संभावना सिल्वरलाइट 2 और शायद कुछ विंडोज़ एज़ूर भी, लेकिन मैं अभी भी इसके साथ प्रयोग कर रहा हूं, लेकिन निश्चित रूप से 3.5 नेट 1 एस 1।
  • और, संभवतः मुख्य निर्णय बिंदु के रूप में: नहीं जरूरी फ़ॉर्म का उपयोग करके प्रमाणीकरण, आवेदन अंततः प्रमाणीकरण

के लिए सक्रिय निर्देशिका या OpenID का उपयोग कर सकते मैं अभी भी अगर मैं गैर के साथ ASP.net सदस्यता का उपयोग कर सकते जांच करने के लिए की जरूरत है - मानक प्रमाणीकरण प्रदाताओं (ओपनआईडी), क्योंकि मुझे लगता है कि एएसपीनेट प्रोफाइल केवल एएसपीनेट सदस्यता का उपयोग करते समय समझ में आता है, इसलिए मैं अंततः ओपनआईडी के लिए कस्टम सदस्यता प्रदाता दोनों लिखना समाप्त कर सकता हूं (यह अनिवार्य रूप से केवल पुल के रूप में कार्य करता है) , और एक कस्टम प्रोफाइल प्रदाता।

तो हाँ, मुझे लगता है कि यह एक अच्छा तरीका हो सकता है क्योंकि मैं फ्रेमवर्क पहले से ही मुझे क्या देता हूं इसका उपयोग करना जारी रखता हूं, लेकिन मेरे पास सदस्यता और प्रोफाइल के साथ कोई अनुभव नहीं है, इसलिए शायद किसी के पास कुछ अंतर्दृष्टि है या नहीं मुझे अपना खुद का प्रमाणीकरण और/या प्रोफाइल पूरी तरह से रोल करना चाहिए, या यदि मैं कस्टम सदस्यता और प्रोफाइल प्रदाता लिखना बेहतर हूं, जो स्पष्ट रूप से what SO did है?

उत्तर

3

मुझे अपने स्वयं के प्रोफाइल प्रदाता लिखने का अनुभव नहीं है, लेकिन मैंने अपना खुद का सदस्यता प्रदाता लिखा है। यह अपेक्षाकृत आसान है (बहुत सारे तरीके हैं जिन्हें आप लागू करने की आवश्यकता नहीं है)। असल में एकमात्र विधियां जो वास्तव में आवश्यक लगती हैं वे GetUser() और ValidateUser() विधियां हैं।

एकमात्र ऐसा हिस्सा जो थोड़ा मुश्किल (और प्रोफाइलिंग लायक) है, ऐसा लगता है कि GetUser() को अक्सर बार-बार कहा जाता है और आपको परिणामों को कैश करने के बारे में सोचना चाहिए ताकि आप हमेशा डेटाबेस को मार न सकें।

0

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

आपके लिए पूछताछ की एक बेहतर पंक्ति क्या हो सकती है "मुझे अपनी सदस्यता और प्रोफाइल प्रदाताओं के साथ एक्स, वाई और जेड करने की ज़रूरत है, मेरी सबसे अच्छी शर्त क्या है?"