节点JS MySQLauthentication

我是节点JS的新手。 我正在validation用户对后端MYSQL。

这是validation的代码片段

function Authenticate(username, password, fn) { connection.connect(); var user; connection.query('SELECT * from Users where username = ' + connection.escape(username) + ' and password =' + connection.escape(password), function(err, rows) { user = rows[0].username; }); if (!user) { return fn(new Error('cannot find user')); } else { return fn(null, user); } connection.end(); } 

这是我的回拨function。

 app.post('/Login', function(req, res) { Authenticate(req.body.username, req.body.password, function(err, user) { if (user) { req.session.regenerate(function() { req.session.user = user; req.session.success = 'Authenticated as ' + user; res.redirect('Home'); }); } else { req.session.error = 'Authentication failed, please check your username and password.'; res.redirect('Login'); } }); }) 

我得到一个错误,我不能得到我的头。

 TypeError: Cannot set property 'error' of undefined at /...../.../node_modules/app.js:42:23 at Authenticate (/..../..../node_modules/app.js:82:11). 

请分享你的想法!

如果不检查是否正确configuration了中间件以用于快速validation器,则需要其他req.session正常工作