【问题标题】:NodeJS + Passport.js - no session stored?NodeJS + Passport.js - 没有存储会话?
【发布时间】:2015-06-12 01:33:27
【问题描述】:

我的应用程序中的会话有问题。我正在尝试根据本教程学习 Passport.js:http://www.sitepoint.com/local-authentication-using-passport-node-js/。我想要做的是只允许经过身份验证的用户访问。登录过程很好,但是当我检查用户是否经过身份验证时,它总是说没有。会出什么问题? 这是检查功能:

if (req.isAuthenticated()) {
  return next();
else {
  res.redirect('/');
}

这是来自路由器的路径:

router.get('/secret', isAuthenticated, function(req, res) {
  res.send('Welcome to the secret page');
});

我没有找到任何关于如何检查会话是否已建立、会话在哪里等方面的说明。

【问题讨论】:

  • 如何检查用户是否未通过身份验证?它会将您重定向到 / 吗?
  • 是的,它只是将我重定向到“/”,仅此而已

标签: node.js session express passport.js


【解决方案1】:

试试这个,取自 passport.js 文档。

app.get('/secret', passport.authenticate('local'), function(req, res) {
    // If this function gets called, authentication was successful.
    // `req.user` contains the authenticated user.
});

http://passportjs.org/guide/authenticate/

【讨论】:

  • 我有两个问题:我是否需要使用 Connect 才能使其工作(文档中提到了一些内容)?其次,如果我需要使用 serialize 和 deserializeUser 才能工作?感谢您的帮助:)
  • 这对我有用,当我超时发送用户名和密码时,我正在做一个请求,但是否也可以使用会话进行此操作,因为这对我来说似乎更安全?
  • 我在stackoverflow上的问题:stackoverflow.com/questions/31724707/…
猜你喜欢
  • 2018-07-26
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-10-07
  • 1970-01-01
  • 2013-06-20
  • 2013-04-28
相关资源
最近更新 更多