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

नोड.जेएस में प्रमाणीकरण कैसे करें जिसे मैं अपनी वेबसाइट से उपयोग कर सकता हूं?

आपको केवल .authenticate . को संशोधित करने की आवश्यकता है तरीका। चूंकि डेटाबेस से कनेक्ट करना एक एसिंक्रोनस ऑपरेशन है (या होना चाहिए), तो आपको promise जोड़ना होगा ऑब्जेक्ट (देखें everyauth दस्तावेज़ )।

मान लें कि आपके पास user . के अनुरूप उपयोगकर्ता डेटा के साथ कुछ ORM है username के साथ वस्तु और password विशेषताएँ (मेरे उदाहरण में मैं नेवला इंजन का उपयोग करूँगा), यह इस तरह दिख सकता है:

.authenticate( function (login, password) {
    var promise = this.Promise(); /* setup promise object */

    /* asynchrnously connect to DB and retrieve the data for authentication */
    db.find({ username:login }, function(err, user) {
        if (err)
            return promise.fulfill([err]);
        if ((!user) || (user.password != password))
            return promise.fulfill(['Incorrect username or password!']);
        promise.fulfill(user);
    });

    return promise; /* return promise object */
})

मैंने इसका परीक्षण नहीं किया, लेकिन दस्तावेज़ीकरण के अनुसार इसे काम करना चाहिए। याद रखें कि त्रुटियों को सरणी में रखा जाना चाहिए।

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




  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. Mysqli रोलबैक काम नहीं कर रहा है

  3. php-mysql स्क्रिप्ट विफल होने पर विस्तृत त्रुटि रिपोर्ट कैसे प्राप्त करें?

  4. एंटिटी फ्रेमवर्क के साथ MySQL में ऑटो इंक्रीमेंटेड फील्ड में एक विशिष्ट आईडी डालें 5

  5. MYSQL - तुर्की वर्ण