Rumah > Soal Jawab > teks badan
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('/');
});
}
});
滿天的星座2017-05-24 11:33:27
Tambah di sebelah parameter fungsi panggil balik Jika pengesahan berjaya, seterusnya akan dikembalikan Jika pengesahan gagal, kegagalan akan dikembalikan
router.post("/:userid",function(req,res,next) {
User.findOne({
name: req.session.userid,
pwd: req.body.oldpwd
}, function (err, doc) {
if (err) {
r.error = err;
return;
}
if (doc) {
console.log('success');
return next();
}
console.log('fail');
res.json(r);
});
});
//不想使得当旧密码验证不成功的时候让以下代码执行
router.post("/:userid",function(req,res,next) {
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('/');
});
}
});
Tetapi mereka sebenarnya boleh bersama, jadi mengapa memisahkan mereka? Contohnya:
router.get('/:userid', function(req, res,next) {
if(req.session.userid){
return User.find(req.session.userid,function(err,doc){
res.render('changepassword',{
userid: req.session.userid,
user:doc
});
});
}
res.redirect('/login');
});
为情所困2017-05-24 11:33:27
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!