node.js + passport本地身份验证

时间:2016-03-05 07:00:03

标签: node.js express passport.js

我正在开发一个Web应用程序,根据用户的类型登录后页面应该重定向。用户类型由用户在注册时定义。护照本地认证工作正常但我要根据usertype重定向页面要做的事情..请指导

2 个答案:

答案 0 :(得分:0)

如果护照有效,您可能会从请求中获取该信息,然后使用res.redirect('/ whereYouWant')。发一些代码?查看此答案,了解有关查看Cookie的信息:How to access Cookie set with Passport.js

答案 1 :(得分:0)

为什么不重定向到需要重定向的页面?例如:

router.get('/login', function(req, res) {
    res.render('login', { user : req.user, status: req.param('status') });
});


router.post('/login', passport.authenticate('local', {
  successRedirect: '/redirect',
  failureRedirect: '/login?status=fail',
}));

router.get('/redirect', function(req, res) {
  if (req.isAuthenticated()) {
      if (req.user.usertype === "admin") {
        res.redirect('/adminpage');
      }

      if (req.user.usertype === "marketing") {
        res.redirect('/marketingpage');
      }

      ......
  }
});