2012-08-31 16 views
7

के साथ एएसपी.NET सदस्यता प्रदाता मैं एएसपी.NET सदस्यता प्रदाता का उपयोग कर रहा हूं जिस तरह से आता है और यह मेरे बुनियादी उद्देश्यों की पूर्ति करने के लिए ठीक है। एक बात मुझे एहसास है कि, यह डेटाबेस में संग्रहीत प्रक्रिया आदि का गुच्छा स्थापित करता है।ईएफ

क्या एएसपी.NET सदस्यता का ईएफ कार्यान्वयन है? या होगा?

मेरे पास एक आने वाली परियोजना है जिसे मुझे सदस्यता प्रदाताओं की कार्यक्षमता को कुछ जीयूआई के माध्यम से भूमिकाओं और प्राधिकरण के साथ विस्तारित करने की आवश्यकता होगी।

इसके अलावा, हर बार जब मैं इसका उपयोग करता हूं, तो मेरे पास वेब कनेक्शन में दो कनेक्शन स्ट्रिंग है, विशेष रूप से सदस्यता प्रदाता के लिए अनुप्रयोग सेवाओं के लिए डीबीकॉन्टेक्स्ट एक के लिए। मेरे पास सिर्फ एक क्यों नहीं है?

उत्तर

0

एमवीसी 3 के लिए गुई सदस्यता प्रबंधन प्रणाली हैं आप अपनी परियोजना को देख या जोड़ सकते हैं।

आप उन लोगों के साथ चारों ओर खेलने और देखें कि वे कैसे काम कर सकते हैं। एक बार जब आप जानते हैं कि कहां देखना है और आप अपना खुद का बना सकते हैं तो यह आसान है।

Membership Class और MembershipUser Class सभी उपयोगकर्ता जानकारी रखती है। के लिए उदाहरण के लिए एक उपयोगकर्ता आप ऐसा कर सकते अन-मंजूरी:

MembershipUser user = Membership.GetUser("userName"); 
user.IsApproved = false; 
Membership.UpdateUser(user); 

और यदि आप एक उपयोगकर्ता को हटाना चाहते हैं, तो आप Membership.DeleteUser("userName"); उपयोग कर सकते हैं।

Roles Class में सभी भूमिका संबंधित जानकारी है। Roles.GetUsersInRole("roleName") की तरह roleName भूमिका में सभी उपयोगकर्ताओं की एक सूची वापस कर देगा। Roles.CreateRole("roleName"); एक भूमिका निभाएगा, और Roles.DeleteRole("roleName"); एक भूमिका हटा देगा।

यदि आपको केवल डिफ़ॉल्ट से अधिक की आवश्यकता है, तो आप Implementing a Membership Provider देख सकते हैं।

जहां तक ​​दो डेटाबेस हैं, यह आवश्यक नहीं है। आप Aspnet_regsql टूल का उपयोग कर अपने डेटाबेस में सभी एएसपी.नेट टेबल, संग्रहीत प्रक्रियाओं आदि को जोड़ सकते हैं। Installing the Database using Aspnet_regsql.exe पर एक नज़र डालें। यह आपको केवल एक डेटाबेस रखने की अनुमति देगा, ताकि आप अपने Web.Config में एएसपीनेट कनेक्शन स्ट्रिंग को हटा सकें और फिर अपने मुख्य डेटाबेस में कनेक्शन स्ट्रिंग का उपयोग करने के लिए AspNetSqlMembershipProviderAspNetSqlProfileProviderAspNetSqlRoleProvider और शायद अन्य को बदलें। http://nuget.org/packages/Microsoft.AspNet.Providers.Core

ये आंतरिक एफई कोड के प्रथम 5 का उपयोग करके लागू है, हम आंतरिक DBContexts सार्वजनिक एक बार हम सब कुछ सुचारू रूप से काम करता है बना देंगे:

0

एएसपी.NET सदस्यता प्रदाता और इकाई फ्रेमवर्क में भूमिकाओं के कार्यान्वयन के लिए, ईडीएमएक्स फ़ाइल में एएसपीएनईटीडीबी (सदस्यता डेटाबेस) के सभी विचारों को आयात करने की आवश्यकता है। जैसे vw_aspnet_MembershipUsers, vw_aspnet_Roles, vw_aspnet_UsersInRoles, vw_aspnet_Users, आदि ...

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

यहां नियंत्रक कोड है। जैसे

// GET: /Membership/Edit/5 

    public ActionResult Edit(Guid id) 
    { 
     var recordToEdit = (from r in _db.vw_aspnet_Users where r.UserId == id select r).First(); 
     return View(recordToEdit); 
    } 

    public ActionResult Index() 
    { 
     return View(_db.vw_aspnet_MembershipUsers.ToList()); 
    } 

अब, कैसे मौजूदा डाटाबेस को ASPNETDB मर्ज करने के लिए, web.config में केवल एक ही कनेक्शन स्ट्रिंग बनाने के लिए। (आपका प्रश्न: मेरे पास सिर्फ एक क्यों नहीं है?)

यह भी नीचे दिए गए चरणों का उपयोग कर संभव है।

ASPNETDB.MDF सदस्यता प्रदाता डेटाबेस है और डेटाबेस से सदस्यता डेटा को संग्रहीत और पुनर्प्राप्त करने के लिए उपयोग किया जाता है और यहां हम सदस्यता प्रदाता डेटाबेस बनाने के तरीके को देखने जा रहे हैं। Aspnetdb.mdf बनाने के लिए प्रयुक्त कमांड ASPNET_RegSQL.EXE

1. स्टार्ट-> प्रोग्राम्स-> माइक्रोसॉफ्ट विजुअल स्टूडियो 2005-> विजुअल स्टूडियो टूल्स-> विजुअल स्टूडियो 2005 कमांड प्रॉम्प्ट। विजुअल स्टूडियो 2005 कमांड प्रॉम्प्ट

  1. शीर्षक "Asp.Net Sql सर्वर विज़ार्ड में आपका स्वागत" के साथ एक जादूगर प्रदर्शित किया जाएगा में aspnet_regsql.exe टाइप करें। यहां अगला

  2. "सेटअप सेटअप विकल्प" के साथ अगला विज़ार्ड प्रदर्शित करने की आवश्यकता है। अब हमें सेटअप विकल्प का चयन करने की आवश्यकता है "अनुप्रयोग उद्देश्य के लिए एसक्यूएल सर्वर कॉन्फ़िगर करें डिफ़ॉल्ट है"। चुनें कि आप कौन सा चाहते हैं और अगला।

  3. "एसक्यूएल सर्वर डेटाबेस का चयन करें" वाला एक विंडो दिखाया जाएगा अब हमें हमारे एसक्यूएल सर्वर डेटाबेस का चयन करने की आवश्यकता है। यहां सर्वर, प्रमाणीकरण प्रकार और डेटाबेस सेट करने की आवश्यकता है। यदि डिफ़ॉल्ट नाम "aspnetDb.mdf" का चयन किया जाएगा। यदि आप मौजूदा डेटाबेस को संशोधित करना चाहते हैं तो उस डेटाबेस का चयन करें।

5. अब एक पुष्टि "आपकी सेटिंग्स की पुष्टि करें" शीर्षक के साथ प्रदर्शित की जाएगी। अब servername और डेटाबेस नाम की जांच करें और अगला क्लिक करें।

  1. साथ "डेटाबेस बनाया या संशोधित किया गया है" एक विंडो प्रदर्शित करेंगे।अब समाप्त करें क्लिक

ऊपर के चरणों आप अपने मौजूदा डेटाबेस का चयन करने की जरूरत है सावधान रहें, कुछ तालिकाओं (11+), दृश्य, सदस्यता और भूमिकाओं के संग्रहित प्रक्रियाओं अपने मौजूदा डेटाबेस में जोड़ दिया जाएगा ....

इसका आनंद लें .... धन्यवाद ...

+0

यदि आप पहले डीबीकॉन्टेक्स्ट कोड का उपयोग कर रहे हैं तो यह कैसे करें? – DarthVader

+0

कोड के लिए पहला दृष्टिकोण, डेटाबेस पर ExecuteSqlCommand विधि का उपयोग कर गैर-क्वेरी आदेश डेटाबेस में भेजा जा सकता है। context.Database.ExecuteSqlCommand ("<आपकी सदस्यता SQL>"); –

+0

अच्छी तरह से एसक्यूएल प्रश्नों या संग्रहित procs में रुचि नहीं है। अब उन का उपयोग कौन कर रहा है? – DarthVader

2

सार्वभौमिक प्रदाताओं के लिए आप क्या देख रहे हैं।