Sebagai contoh, jika saya ingin menukar kata laluan, saya mempunyai kata laluan lama dan kata laluan baharu Pengesahan kata laluan lama diasingkan daripada penukaran kata laluan baharu. Bagaimanakah saya boleh menghalang kata laluan baharu daripada ditukar?
router.get('/:userid', function(req, res,next) {
if(req.session.userid){
return next();
}
res.redirect('/login');
});
router.get('/:userid', function(req,res,next){
User.find(req.session.userid,function(err,doc){
res.render('changepassword',{
userid: req.session.userid,
user:doc
});
});
});
router.post("/:userid",function(req,res) {
User.findOne({
name: req.session.userid,
pwd: req.body.oldpwd
}, function (err, doc) {
if (err) {
r.error = err;
return;
}
if (doc) {
console.log('success');
} else {
console.log('fail');
return;
}
res.json(r);
});
});
//不想使得当旧密码验证不成功的时候让以下代码执行
router.post("/:userid",function(req,res) {
var u = {
pwd :req.body.pwd
};
var userid = req.session.userid;
if(userid && '' != userid) {
User.findOneAndUpdate(userid,u,function(err, docs) {
console.log('modify-----'+ docs);
res.redirect('/');
});
}
});
Tambah di sebelah parameter fungsi panggil balik Jika pengesahan berjaya, seterusnya akan dikembalikan Jika pengesahan gagal, kegagalan akan dikembalikan
Tetapi mereka sebenarnya boleh bersama, jadi mengapa memisahkan mereka? Contohnya:Untuk rujukan:
1. router.post("/:userid", function(req,res) {
and
//Kami tidak mahu kod berikut dilaksanakan apabila pengesahan kata laluan lama gagal
router.post("/: userid", function(req,res) {
Ia adalah penghala pendua Anda perlu meletakkan kod pemprosesan berikut (tukar kata laluan) padanya.
2 Selain itu, anda boleh mempertimbangkan password.js untuk pengurusan log masuk.
Untuk rujukan.
Suka MongoDB! Selamat mencuba!