【发布时间】:2017-09-24 05:19:11
【问题描述】:
我正在尝试添加重置密码功能。用户输入用户名、电子邮件和全名,当这些值与数据库中的数据匹配时,更改密码,否则会显示错误。 这就是我正在做的-
app.post("/reset",function(req,res){
User.findByUsername(req.body.username).then(function(sanitizedUser){
if (sanitizedUser){
sanitizedUser.setPassword(req.body.password, function(){
sanitizedUser.save();
req.flash("success","password resetted");
res.redirect("/login");
});
} else {
req.flash("error","User doesnt exist");
res.redirect("/reset");
}
},function(err){
console.log(err);res.redirect("/");
});
});
但我想比较的不仅仅是用户名,我还想比较用户的电子邮件和姓名。当我添加 -
User.find({username:req.body.username},{email:req.body.email},{name:req.body.name})并输入了一些错误的数据,页面只是不断重新加载而不是显示错误。
我应该做些什么改变呢?请帮忙。
我正在使用 express、nodejs、mongodb
【问题讨论】:
-
您在使用 Passport 吗? passportjs.org
-
是的,我正在使用 Passport @DanGreen-Leipciger
标签: node.js mongodb express authentication mongoose