【问题标题】:FailureFlash with Passportjs and Express使用 Passportjs 和 Express 的FailureFlash
【发布时间】:2015-01-07 22:09:43
【问题描述】:

我正在尝试在登录失败时闪烁错误消息(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.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 的获取请求中的“消息”永远不会被替换为“用户名不正确”。 我做错了吗? 提前致谢!

【问题讨论】:

  • 您会收到什么失败消息?
  • @bencripps 这不是很有用。

标签: javascript node.js express passport.js


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2016-07-04
    • 1970-01-01
    • 2016-04-14
    • 2012-03-30
    • 2018-07-11
    • 2015-01-16
    • 2017-07-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多