Mysql
 sql >> база данни >  >> RDS >> Mysql

Как да направя удостоверяване в node.js, което мога да използвам от моя уебсайт?

Трябва само да промените .authenticate метод. Тъй като свързването с база данни е (или трябва да бъде) асинхронна операция, тогава трябва да добавите promise обект (вижте документацията за Everyyauth ).

Ако приемем, че имате някакъв ORM с потребителски данни, съответстващи на user обект с username и password атрибути (в моя пример ще използвам mongoose engine), ето как може да изглежда:

.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. 3 начина за намиране на редове, които съдържат главни букви в MySQL

  3. Разлики в производителността между равно (=) и IN с една буквална стойност

  4. Как да извлечете mysql данни с помощта на многонишковост на Java

  5. Как да съхранявам XML данни в mysql база данни? Не искам чужди ключове като луд