我怎樣才能使自定義的successRedirect頁面登錄後在節點,JS基於來自mysql用戶行的值?類似的東西:Nodejs自定義登錄後成功重定向頁面
passport.use(new LocalStrategy(
function(username, password, done) {
var strQuery = "SELECT * FROM users WHERE username='"+username+"' and password_text='"+password+"'";
connection.query(strQuery, function(err, users){
if (err) { return done(err); }
if (typeof users[0] == 'undefined' && users.length == 0) {
return done(null, false, { message: 'Incorrect username or password' });
}
if (password != users[0].password_text) {
return done(null, false, { message: 'Incorrect password.' });
}
return done(null, users[0]);
});
}
));
passport.serializeUser(function(user, done) {
done(null, user.id);
});
passport.deserializeUser(function(id, done,) {
var strQuery = "SELECT * FROM users WHERE id='"+id+"'";
connection.query(strQuery, function(err, users){
return done(null, users[0]);
});
});
app.post('/login',
passport.authenticate('local', { failureRedirect: '/login', failureFlash: true }),
function(req, res, next) {
if (req.user.userlevel > 3) { // Here is my problem I dont't know how get userlevel value
return res.redirect('/index1');
} else {
res.redirect('/index2');
}
});
我不知道爲什麼我的代碼不工作... userlevel
是真實列users
表 感謝您的任何建議
請查看參數化查詢,而不是連接您的SQL字符串。 – Paul 2014-11-02 02:17:43
我遇到同樣的問題。如果你設法解決這個問題,也許你可以發佈完成的代碼作爲答案? – Meelah 2016-04-26 15:49:27