mysqlユーザー行の値に基づいてノード、jsにログインした後、カスタムのsuccessRedirectページを作成するにはどうすればよいですか? そんな感じ:
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
アドバイスをありがとう