Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

मौजूदा डेटाबेस-प्रथम EF मॉडल के साथ MVC 4 SimpleMembership का उपयोग करना

विशुद्ध रूप से एक संदर्भ बिंदु के रूप में, ASP.NET MVC 4 वेब एप्लिकेशन प्रोजेक्ट (यानी फ़ाइल> नई परियोजना के माध्यम से) का एक नया इंटरनेट एप्लिकेशन टेम्पलेट बनाना एक अच्छा विचार हो सकता है।

यदि आप AccountController को देखते हैं , जैसा कि @zms6445 कहता है, इसे InitializeSimpleMembership से सजाया गया है विशेषता। आप इस विशेषता के कार्यान्वयन को रूट निर्देशिका में फ़िल्टर फ़ोल्डर में InitializeSimpleMembershipAttribute.cs फ़ाइल में पा सकते हैं।

यहां, यह पहेली का गायब हिस्सा है - आपको अपने मौजूदा डेटाबेस को जोड़ने की आवश्यकता है ताकि इसका उपयोग SimpleMembershipProvider द्वारा किया जा सके। . यह वह कोड है जिसकी आपको आवश्यकता है:

private class SimpleMembershipInitializer
{
    public SimpleMembershipInitializer()
    {
        try
        {
            if (!WebSecurity.Initialized)
            {
                WebSecurity.InitializeDatabaseConnection("CONNECTION_STRING_NAME", "USER_TABLE", "USER_ID_FIELD", "USER_NAME_FIELD", autoCreateTables: true);
            }
        }
        catch (Exception ex)
        {
            throw new InvalidOperationException("Something is wrong", ex);
        }
    }
}

ध्यान देने योग्य कुछ बातें:

  1. CONNECTION_STRING_NAME आपके web.config ConnectionStrings में एक प्रविष्टि है - आप यहां मॉडल कनेक्शन स्ट्रिंग का उपयोग नहीं कर सकते - SimpleMembershipProvider उस प्रारूप को नहीं पहचानता! आपको एक System.Data.SqlClient निर्दिष्ट करने की आवश्यकता है कनेक्शन स्ट्रिंग, उदा।

    <नाम जोड़ें ="CONNECTION_STRING_NAME" कनेक्शनस्ट्रिंग ="डेटा स्रोत =सर्वर; प्रारंभिक कैटलॉग =डेटाबेस; उपयोगकर्ता आईडी =उपयोगकर्ता; पासवर्ड =पासवर्ड;" प्रदातानाम ="System.Data.SqlClient" />

  2. USER_TABLE अतिरिक्त उपयोगकर्ता जानकारी रखने के लिए आपके डेटाबेस में तालिका है, जैसे पहला नाम, उपनाम इत्यादि। यह USER_ID_FIELD के माध्यम से स्वत:जेनरेट की गई तालिकाओं से जुड़ा हुआ है।

  3. USER_ID_FIELD आमतौर पर आपकी उपयोगकर्ता तालिका की प्राथमिक कुंजी होती है। यह int . प्रकार का होना चाहिए ।

  4. USER_ID_NAME उपयोगकर्ता के लिए एक अनूठा नाम है, जो एक ईमेल पता हो सकता है।

  5. autoCreateTables true . पर सेट है यह सुनिश्चित करने के लिए कि SimpleMembership के काम करने के लिए आवश्यक तालिकाएँ बनाई गई हैं यदि वे पहले से मौजूद नहीं हैं।

बेशक, यह कोड केवल तभी सक्रिय होता है जब आप AccountController . के माध्यम से किसी पृष्ठ को हिट करते हैं , चूंकि इसे विशेषता द्वारा सजाया गया है। आप वहां एक ब्रेकपॉइंट लगा सकते हैं और इसे क्रिया में देख सकते हैं।

यह आपको आरंभ करना चाहिए - यदि आप अटक जाते हैं तो इंटरनेट एप्लिकेशन टेम्प्लेट एक बहुत अच्छा टेम्प्लेट है।

आशा है कि यह मदद करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एक सिस्टम को क्रमबद्ध करना। एक एक्सएमएल स्ट्रिंग के लिए ऐरे

  2. 3/4 कैरेक्टर इंटीजर को 24 घंटे के टाइम फॉर्मेट में कैसे बदलें और तारीख के साथ मिलाएं?

  3. एसएसएएस एमडीएक्स लाइन मात्रा एसयूएम द्वारा विभाजित

  4. समय प्रारूप hhmm से hh:mm sql सर्वर 2005

  5. SQL सर्वर में डेटा संपीड़न का अवलोकन