2011-03-17 10 views
39

के भीतर कई सदस्यता प्रदाताओं का उपयोग करना मैं कुछ मौजूदा सेटिंग्स और सामग्री के प्रबंधन के लिए एक मौजूदा क्षेत्र के रूप में एक मौजूदा एमवीसी 3 रेज़र ऐप में एक नया क्षेत्र जोड़ रहा हूं। शेष साइट वर्तमान में एक कस्टम प्रदाता द्वारा सुरक्षित है जो हमारे ग्राहकों को प्रमाणित करती है। अब मुझे कुछ कर्मचारियों को व्यवस्थापक क्षेत्र तक पहुंचने के लिए प्रमाणित करने की आवश्यकता है, क्लाइंट उपयोगकर्ता डेटा हमारे कर्मचारियों के लिए आवश्यकतानुसार एक बिल्कुल अलग डेटाबेस और प्रारूप में है।एएसपी.NET एमवीसी 3 एप्लिकेशन

क्या यह बिना सिरदर्द के संभव है?

उत्तर

58

वास्तव में बहुत कम सिरदर्द शामिल है।

सीधे शब्दों में web.config में सभी MembershipProviders आप चाहते जोड़ें:

<membership defaultProvider="MembershipProvider1"> 
    <providers> 
    <clear/> 
    <add name="MembershipProvider1" type="MvcApplication.MembershipProvider1" /> 
    <add name="MembershipProvider2" type="MvcApplication.MembershipProvider2" /> 
    <add name="AspNetSqlMembershipProvider" 
     type="System.Web.Security.SqlMembershipProvider"  
     connectionStringName="ApplicationServices" /> 
    </providers> 
</membership> 

आप देख सकते हैं मैं दो प्रदाताओं जोड़ लिया है। मैंने एक डिफ़ॉल्ट प्रदाता भी निर्दिष्ट किया है।

मैं तो इस तरह दोनों के बीच स्विच कर सकते हैं:

var membershipProvider1 = Membership.Providers["MembershipProvider1"]; 
membershipProvider1.ValidateUser("Mike", "banana"); 

var membershipProvider2 = Membership.Providers["MembershipProvider2"]; 
membershipProvider2.ValidateUser("Mike", "orange"); 

आप शायद रैप करने के लिए है कि एक आवेदन सेवा या कुछ में चाहते हैं, लेकिन आप विचार मिलता है। इतना सिरदर्द नहीं, है ना?

+0

नहीं, मुझे लगता है कि बहुत आसान है ... धन्यवाद – JBeckton

+3

महान सवाल, महान जवाब। धन्यवाद दोस्तों :) – Marchy

+3

@ मार्चची महान टिप्पणी: डी –