使用Node.js进行身份验证

时间:2019-11-02 17:04:42

标签: sql node.js phppgadmin

我无法在我的nodejs应用程序中进行登录。即使输入了错误的用户,我进行身份验证时,我也会看到页面 home 呈现:

这是我的身份验证代码:

app.post('/auth', urlencodedParser, function(req, res) {
    var username = "'" + req.body.usernames + "'";
    var password = "'" + req.body.passwords + "'";
    var client = new Client(conString);
    client.connect();
    if (username && password) {
        client.query('SELECT * FROM Utilisateur WHERE username = ? AND password = ?', [username, password],function(err, results) {
            if (err) {
               console.log('error running the authentication:', err);
            }
            results = JSON.parse("[{},{}]")
            if (results.length > 0) {
                req.session.loggedin = true
                req.session.username = username
                res.render('home')
            }
        });
    }
});

1 个答案:

答案 0 :(得分:0)

使用 sql 库而不是客户端。

app.post('/auth', urlencodedParser, function(req, res) {
        var username = "'" + req.body.usernames + "'";
        var password = "'" + req.body.passwords + "'";
        var mysql = require('mysql');
        var con = mysql.createConnection({
          host: "localhost",
          user: "yourusername",
          password: "yourpassword",
          database: "mydb"
       });

        if (username && password) {
            con.connect(function(err) {
                 if (err) throw err;
                 con.query('SELECT * FROM Utilisateur WHERE username = ? AND password = ?', [username, password],function(err, results) {
                    if (err) {
                        console.log('error running the authentication:', err);
                    }
                    results = JSON.parse("[{},{}]")
                    if (results.length > 0) {
                        req.session.loggedin = true
                        req.session.username = username
                        res.render('home')
                    }
                 });  
            });
        }
    });