如何在不使用请求范围的情况下管理Node.js中的会话数据?

时间:2017-08-18 18:42:27

标签: node.js routes session-management

我一直在尝试Node.js中的几种会话管理:node-sessionexpress-session等。这些是在app.js中配置的,并在请求级别实现(例如, req.session)在路线中。

要使用会话管理来确定访问者是否已通过身份验证,我需要在每个路由上执行检查(例如req.session.isLoggedIn == true)以强制执行登录访问。这是一个例子:

router.get('/', function(req, res) {
  if (req.session.status == undefined) { 
    res.redirect('/login');
    }
  else { 
    res.render('index', { 
      pageTitle: 'Index',
      pageID: 'index'
    });
  }
});

这意味着每个.get().post()都会进行此项检查。它肯定会有效,但是有一种方法我可以写一次,比如在app.js中,它会覆盖所有请求吗?

1 个答案:

答案 0 :(得分:0)

快速中间件正是您正在寻找的, 请参阅http://expressjs.com/en/guide/using-middleware.html