一个简单的问题,我试图在登录过程后通过ID识别某些用户(仅使用用户名+密码),因此每次我需要与user1相关联的值。为此,我正在用户名中搜索mlab(会话集合)并返回ID匹配项。我开始阅读有关会话的信息,并且已经可以将其保存在mlab上的集合中。
这是我的代码,我的问题是我是否可以执行一些逻辑来解决这个问题,因为每个人都应该传递/ login,所以我正在考虑将其保存为用户会话并以我需要的其他路径进行访问
router.post('/login', function (req, res) {
let userinput = req.body.username;
let passinput = req.body.password;
userModel.findOne({
username: userinput
}, function (err, user) {
if (err) throw err;
else {
if (!user) { /
res.write('NO MATCH');
res.end();
} else {
bcrypt.compare(passinput, user.password, function(err, result){
if (err) throw new Error(err)
else{
if(!result){
res.render('index', {
title: 'Invalid fields',
msg_login: 'Invalid'
})
}else{
const user_id = user.username;
req.login(user_id, function(err){
res.render('pageAfter', {
title: 'Welcome',
name : user_id
});
});
}
}
});
}
}
});
});