2011-03-31 19 views
9

मैं एएसपी.नेट एमवीसी 3 में वेबसाइट (फुटबॉल, सॉकर) बना रहा हूं और मैं चाहता हूं कि उपयोगकर्ता (अतिरिक्त जानकारी के साथ उपयोगकर्ता डिफ़ॉल्ट सदस्यता में, ये सामान्य विज़िटर हैं) और ऐसे खिलाड़ी जो मुझे लगता है कि यह सबसे अच्छा है वे उपयोगकर्ताओं का उत्तराधिकारी होंगे और ड्रेस नंबर के रूप में कुछ addional iformation है ... खिलाड़ियों लेख भी पोस्ट कर सकते हैं, उपयोगकर्ता सिर्फ लेख टिप्पणी कर सकते हैं। ऐसा करने का सबसे अच्छा तरीका क्या है? क्या मुझे डिफ़ॉल्ट सदस्यता प्रदाता का उपयोग करना चाहिए या क्या मुझे अपना खुद का बनाना चाहिए या कुछ तृतीय पक्ष समाधानों का उपयोग करना चाहिए? और क्या आप एएसपीनेट एमवीसी 3 के लिए अपने प्रदाता बनाने के लिए मूल प्रदाता या आलेख को बदलने के लिए कुछ लेख और ट्यूटोरियल पोस्ट कर सकते हैं? या यह एमवीसी 2 के समान है?कस्टम सदस्यता या

उत्तर

5

अपना खुद का सदस्यता प्रदाता बनाना बहुत आसान है। सदस्यता प्रदाता से व्युत्पन्न कक्षा बनाएं। और सदस्यों को लागू करें जो डीबी में देखते हैं, उदाहरण के लिए (या कोई अन्य डेटा स्रोत)।

<membership defaultProvider="MlgMembership"> 
    <providers> 
    <clear /> 
    <add name="CustomMembership" type="YourMembershipClass" enablePasswordRetrieval="false" />  
    </providers> 
</membership> 
1

इस साइट पर soccer क्लब साइट एएसपीनेट स्टार्टर किट देखें।

0

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

सदस्यता प्रदाता वेबफॉर्म और एमवीसी के लिए समान है, SO और Google पर कुछ उदाहरण हैं।

2

आप प्रोफ़ाइल प्रकार की जानकारी जैसे स्टोर करने के लिए देख रहे हैं:

public class YourMembershipClass: MembershipProvider 
{ 
    public override bool ValidateUser(string username, string password) 
    { 
     return YourDataLayer.ValidateUser(username, password); 
    } 
    public override MembershipUser GetUser(object providerUserKey, bool userIsOnline) 
    { 
     return YourDataLayer.GetSpecificUser(providerUserKey, userIsOnline); 
    } 
    // Implement the other methods as well 
} 

फिर web.config करने के लिए अपने YourMembershipClass जोड़ने प्रत्येक उपयोगकर्ता के खिलाफ पहला नाम, अंतिम नाम, नौकरी शीर्षक इत्यादि। तो आप एएसपी.NET सदस्यता में निर्मित Profile सिस्टम का उपयोग करने में सक्षम होना चाहिए। यदि आप अधिक पहचान संबंधी जानकारी संग्रहीत करना चाहते हैं तो हां आपको कुछ प्रकार के कस्टम सदस्यता प्रदाता बनाना होगा। http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

विभिन्न कार्यों आप Roles प्रणाली ASP.NET सदस्यता में निर्मित उपयोग कर सकते हैं प्रदर्शन करने के लिए उपयोगकर्ताओं के विभिन्न प्रकार की अनुमति के बारे में: वहाँ ASP.NET वेबसाइट पर एक कस्टम प्रदाता बनाने पर एक अच्छा वीडियो है। आप केवल कुछ भूमिकाओं में उपयोगकर्ताओं से कॉल की अनुमति देने के लिए अपनी क्रिया विधियों को बता सकते हैं। उदाहरण के लिए यदि आप एक PostArticle कार्रवाई विधि था और आप केवल आप कुछ इस तरह होता है इसे उपयोग करने में सक्षम होने के लिए खिलाड़ियों को चाहता था, तो:

[Authorize(Roles="Player")] 
public ActionResult PostArtcile(){ 
    return View(); 
} 

Authorize विशेषता MVC बताता है केवल "प्लेयर" भूमिका में प्रमाणीकृत उपयोगकर्ताओं को अनुमति देना कार्रवाई विधि को कॉल करने के लिए। आपको अभी भी अपने फ्रंट एंड में पोस्ट आलेख लिंक की उपलब्धता को प्रतिबंधित करने की आवश्यकता होगी लेकिन ऐसा करने के कई तरीके हैं।

वहाँ जो सब बातों सदस्यता को शामिल किया गया स्कॉट मिशेल द्वारा लेख की एक महान श्रृंखला आधारित है: http://www.4guysfromrolla.com/articles/120705-1.aspx

1

मैं सलाह आप के लिए:

  • उपयोग सदस्यता प्रदाता सिर्फ उपयोगकर्ता पंजीकरण और साथ निपटने के लिए प्रमाणीकरण। और (".. खिलाड़ी, normalUsers,")

  • तब उनकी भूमिकाओं के लिए अपने उपयोगकर्ताओं को अलग करने भूमिकाओं का उपयोग यह उपयोगकर्ता सुरक्षा सामान की देखभाल करते हैं (बाकी पासवर्ड, उपयोगकर्ता मान्य ....)।

  • और कभी उपयोग प्रोफाइल प्रदाता कारण यह इतने सारे ट्रैफ़िक आप नहीं करना चाहते हैं और इसके बजाय आप दुकान अपनी अतिरिक्त जानकारी के लिए डेटाबेस में अपने कस्टम तालिका बना सकता है की ।

  • फिर जब भी आप चाहें प्राप्त करने के लिए आप ईएफ या किसी भी ओआरएम का उपयोग कर सकते हैं।

  • अपने नियंत्रकों और भूमिकाओं पर निर्भर कार्रवाइयों में प्राधिकरण विशेषताओं [Authorize(Roles="Players")] का उपयोग करना न भूलें।
संबंधित मुद्दे