Node.js 如何使用Express&;检查MongoDB文档中的特定字段;护照
我有一个NodeJS Web应用程序正在运行,它有express、mongoose、passportjs等与这个问题无关的模块 我的数据库中有两种类型的用户,每种用户都有自己的集合Node.js 如何使用Express&;检查MongoDB文档中的特定字段;护照,node.js,express,mongoose,passport.js,express-session,Node.js,Express,Mongoose,Passport.js,Express Session,我有一个NodeJS Web应用程序正在运行,它有express、mongoose、passportjs等与这个问题无关的模块 我的数据库中有两种类型的用户,每种用户都有自己的集合 使用者 管理员 当用户通过登录页面成功登录时,他们将被重定向到“/memberdashboard”。 类似地,当管理员通过登录页面成功登录时,他们会被重定向到“/admindashboard” 两个集合都有“用户名”和“密码”字段。 然而,在我的管理集合中,有一个额外的字段“isAdmin”,它是布尔类型的 我想重定
app.get("/memberdashboard", function(req, res) {
if(req.isAuthenticated()) {
res.render("memberdashboard");
} else {
res.redirect("/member");
}
});
app.get("/admindashboard", function(req, res) {
if(req.isAuthenticated()) {
res.render("admindashboard");
} else {
res.redirect("/admin");
}
});
我的目标是利用
if(req.isAuthenticated() && //User is Admin) {
//redirect to appropriate page
}
希望这是清楚的:)一旦用户通过身份验证,Afaik passport就会填充
req.user
。因此,您可以将对/membershipdashboard
的检查扩展到:
if (req.isAuthenticated()) {
if (req.user.isAdmin) {
return res.redirect("/admin");
}
res.render("memberdashboard");
} else {
res.redirect("/member");
}
您可以对
/admindashboard
-路线执行此操作,反之亦然。感谢您的快速响应。您是对的,我可以使用req.user.fieldName访问字段