我正在创建一个Web应用程序,要求用户注册/登录,一旦完成,他们就会被带到其“帐户页面”,在该页面上可以看到他们的帐户信息。
我正在使用MongoDB,Mongoose和Passport。
我有发布路线:
app.post("/", function(req, res){
User.findOne({username: req.body.username}, function(err, foundUser){
if(foundUser){
//found user in database
const user = new User({
username: req.body.username,
password: req.body.password
});
req.login(user, function(err){
if(err){
console.log(err);
} else {
passport.authenticate("local", function(err, user){
if(err){
console.log(err);
} else {
if(user){
res.redirect("/user");
} else {
res.render("home", {failedAttempt: true});
}
}
})(req, res);
}
});
} else {
//user does not exist
console.log("the user does not exist here");
res.render("home", {failedAttempt: true})
}
});
});
我希望能够将特定用户的数据库信息传递到“ / user”路由,但是我不知道如何。如何做到这一点,以便一旦将用户重定向到root / user之后,便可以在其数据库中提取信息了?
答案 0 :(得分:0)
您可能想研究Express Middleware。这样一来,您可以先进行一些处理以提取用户信息,然后将结果数据传递到您的路线。
阅读全部内容: https://expressjs.com/en/guide/using-middleware.html