gpt4 book ai didi

javascript - FailureFlash 与 Passportjs 和 Express

转载 作者:行者123 更新时间:2023-12-03 12:09:48 28 4
gpt4 key购买 nike

我尝试在登录失败时显示错误消息(ExpressJS 4.2 和 PassportJS)

我的代码是:

//管理路由=====

router.get('/admin', function(req, res) {

res.render('admin', {message: '', user: ''});

});
router.post('/admin', passport.authenticate('loginAdmin',{ successRedirect: '/panel',
failureRedirect: '/admin',
failureFlash: true })

);

//Passport 本地策略=====

passport.use('loginAdmin', new LocalStrategy(

function(username, password, done) {



modeloUsuario.findOne({ nombre: username, password: password }, function(err, user) {



if (err) { return done(err); }

if (!user) {

return done(null, false, {message: 'Incorrect username.'}); //Error to show
}



return done(null, user);
});
}
));

但是/admin 的 get 请求中的“消息”永远不会被“用户名不正确”替换。难道是我做错了?提前致谢!

最佳答案

看起来您正在重定向回 /admin,并且在 /admin 路由处理程序中将消息设置为空字符串。您的管理路由处理程序会在您的 Passport 策略之后触发,因此您要清除那里的消息。

关于javascript - FailureFlash 与 Passportjs 和 Express,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25006700/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com