用户注册后,我希望他们自动登录。我在线阅读使用req.login(),但它似乎无法正常工作。用户已添加到数据库中,但尚未登录。有人能指出正确的方向吗?
if(type == 'student'){
User.saveStudent(newUser, newStudent, function(err, user){
console.log('Student saved');
req.login(newUser, function(err) {
if (err) {
console.log(err);
}
})
})
} else {
User.saveInstructor(newUser, newInstructor, function(err, user){
console.log('Instructor saved');
req.login(newUser, function(err) {
if (err) {
console.log(err);
}
});
})
}
res.redirect('/classes');
}
});
module.exports = router;
答案 0 :(得分:1)
哦,我知道发生了什么。您在保存用户的回调之外进行res.redirect()
。它可能在设置登录cookie之前重定向。
将res.redirect()
移动到res.login()回调中,你应该很好。