2010-01-10 19 views
12

मैं एएसपी.NET सदस्यता/भूमिकाओं से परिचित नहीं हूं। यह मेरा पहला समय है, और मेरा पहला समय एएसपी.नेट एमवीसी की कोशिश कर रहा है। जब मैं एमवीसी के लिए अपना पहला प्रोजेक्ट बनाता हूं, तो यह मुझे खाता बनाने के लिए एक सुंदर टेम्पलेट देता है। मैं यह देखने के लिए उत्साहित था कि मुझे इसे मैन्युअल रूप से करने की ज़रूरत नहीं थी। हालांकि, यह विफल रहा क्योंकि यह SQL सर्वर से कनेक्ट नहीं हो सकता है। मेरे पास SQL ​​सर्वर नहीं है, मेरे पास MySQL है। क्या कोई आसान तरीका है कि मैं इस प्रणाली को MySQL का उपयोग करने के लिए प्राप्त कर सकता हूं, या क्या मुझे अपना खुद का प्रमाणीकरण बनाना होगा?MySQL के लिए एएसपी.NET सदस्यता/भूमिका प्रदाता?

उत्तर

19

यह पता चला! संस्करण MySql Connector/Net की 6.2.2.0 का उपयोग करना, इन चरणों का पालन ...

  • MySql.Web.dll
  • के संदर्भ में जोड़े

    यह करने के लिए web.config में अपने <membership> बदलें:

    <membership defaultProvider="MySqlMembershipProvider"> 
        <providers> 
        <clear/> 
        <add name="MySqlMembershipProvider" 
         type="MySql.Web.Security.MySQLMembershipProvider, 
           MySql.Web, Version=6.2.2.0, Culture=neutral, 
           PublicKeyToken=c5687fc88969c44d" 
         autogenerateschema="true" 
         connectionStringName="NAME_OF_YOUR_CONN_STRING" 
         enablePasswordRetrieval="false" 
         enablePasswordReset="true" 
         requiresQuestionAndAnswer="false" 
         requiresUniqueEmail="false" 
         passwordFormat="Hashed" 
         maxInvalidPasswordAttempts="5" 
         minRequiredPasswordLength="6" 
         minRequiredNonalphanumericCharacters="0" 
         passwordAttemptWindow="10" 
         passwordStrengthRegularExpression="" 
         applicationName="/" 
        /> 
        </providers> 
    </membership>
  • भागो परियोजना | , MySQL सर्वर संस्करण 5.1, Windows XP 64-बिट
+0

धन्यवाद। यह एक बड़ी मदद थी। डिफ़ॉल्ट प्रदाता जोड़ने से चूकें मत! – Kildareflare

-1

एएसपी.NET कॉन्फ़िगरेशन के बाद मेनू प्रोजेक्ट पर क्लिक करें।

इससे डेटा फ़ोल्डर में आपके लिए SQL डेटाबेस तैयार होगा।

डेटा देखने के लिए विजुअल स्टूडियो का उपयोग करें।

उम्मीद है कि इससे मदद मिलती है।

संपादित

मैं जोड़ने चाहिए कि आप फिर Ctrl + Alt + S उपयोग कर सकते हैं सर्वर एक्सप्लोरर जो तब आप अपनी टेबल और डेटा के साथ अपने डेटाबेस को देखने के लिए अनुमति चाहिए देखने के लिए।

आपको SQL स्थापित करने की आवश्यकता नहीं है।

+0

मुझे अंत में आने वाला टूल मिला (यह गुड़ की तुलना में धीमा है), लेकिन मुझे कोई डेटाबेस नहीं दिख रहा है। मैं सुरक्षा टैब गया, और एक डेटा स्टोर का चयन करने की कोशिश की। फिर यह मुझे प्रदाताओं की एक सूची देता है, लेकिन केवल एक ही है (AspNetSqlProvider), लेकिन यह मुझे एक ही त्रुटि देता है (SQL सर्वर से कनेक्ट नहीं हो सकता है)। –

+0

विजुअल स्टूडियो में अब आप aspnetdb.mdf फ़ाइल देख सकते हैं? यह App_Data फ़ोल्डर में होना चाहिए। सुनिश्चित करें कि आप सभी फाइलें दिखा रहे हैं। – griegs

+1

सं। एमडीएफ = एसक्यूएल सर्वर। मैं * एसक्यूएल सर्वर नहीं है *। –

0

ASP.NET विन्यास उपकरण और

  • ASP.NET 3.5 पर परीक्षण किया गया परीक्षण करने के लिए सुरक्षा टैब पर क्लिक करें मैं asp.net लेकिन मैं के साथ ऐसा किया गया है लगता है कि इसका उपयोग एमवीसी के लिए भी किया जा सकता है: hasangursoy.com.tr/aspnet-authorization-authentication-with-mysql

  • 2

    मूल प्रश्न यह निर्दिष्ट नहीं किया कि एएसपी.नेट & एमवीसी का कौन सा संस्करण इस्तेमाल किया गया था। हाल ही में .NET 4.5 और एमवीसी 4 की रिलीज के साथ मैंने ओपी के रूप में एक ही समस्या को मारा लेकिन नई प्रौद्योगिकियों के साथ। यह मेरा quick fix for it है जो ज्यादातर जोश स्टोडोला के उत्तर के समान कॉन्फ़िगर करता है लेकिन कुछ अतिरिक्त चरणों के साथ।

    <membership defaultProvider="MySqlMembershipProvider"> 
        <providers> 
        <clear /> 
        <add name="MySqlMembershipProvider" 
         type="MySql.Web.Security.MySQLMembershipProvider, 
         MySql.Web, Version=6.5.4.0, PublicKeyToken=c5687fc88969c44d" 
        autogenerateschema="true" 
        connectionStringName="*NAME_OF_YOUR_CONN_STRING*" 
        enablePasswordRetrieval="false" 
        enablePasswordReset="true" 
        requiresQuestionAndAnswer="false" 
        requiresUniqueEmail="false" 
        passwordFormat="Hashed" 
        maxInvalidPasswordAttempts="5" 
        minRequiredPasswordLength="6" 
        minRequiredNonalphanumericCharacters="0" 
        passwordAttemptWindow="10" 
        passwordStrengthRegularExpression="" 
        applicationName="/" /> 
        </providers> 
    </membership> 
    

    AccountController और दृश्य काम कर प्राप्त करें:

    1. MVC 4 AccountController हटाएँ, AccountModels, खाता दृश्य फ़ोल्डर और _LoginPartial दृश्य साझा
    2. एक नया MVC 3 वेब अनुप्रयोग
    3. कॉपी बनाएं एमवीसी 3 खाता नियंत्रक, खाता मॉडल, खाता दृश्य फ़ोल्डर और _LogOnPartial साझा दृश्य आपके एमवीसी 4 अनुप्रयोग
    4. @Html.Partial(“_LoginPartial”) में बदलें साझा किए गए _Layout व्यू @Html.Partial(“_LogOnPartial”)
    0

    मेरे परिदृश्य में, मुझे अपने .NET वेब अनुप्रयोगों से MySQL से कनेक्ट करने की आवश्यकता नहीं है।इसलिए, मैंने दो चीजें करके इस समस्या को हल किया:

    1) अनइंस्टॉल MySQL .NET कनेक्टर (सभी संस्करण) 2) वेब के अंदर। कॉनफिग फ़ाइल, MySQL स्थापना के बाद जोड़े गए सभी कुंजियों को हटा दें। (वरना, नेट वेब अनुप्रयोग रूट फ़ोल्डर के लिए स्थापना से पहले मूल Web.Config फ़ाइल वापस कॉपी)

    अब, मेरी .NET अनुप्रयोग कुछ इसी तरह के माध्यम से जाना था बक

    0

    है।
    Tutorial: MySQL Connector/Net ASP.NET Membership and Role Provider

    नोट::

    यहाँ आधिकारिक MySql पूर्वाभ्यास है कि मुझे मदद की है मेरे मामले में, machine.config संपादित किया जा रहा था 32 बिट एक (वे निर्दिष्ट नहीं किया है जो, और संपादन 64 बिट एक मदद नहीं की)।

    संबंधित मुद्दे