【问题标题】:View all currently active sessions in express.js查看 express.js 中所有当前活动的会话
【发布时间】:2012-12-10 17:21:29
【问题描述】:

我发现许多其他语言的类似问题 - ASP.net、Django 等......但是,我对 Express.js 感兴趣而不是 Node.js 。如何查看当前处于活动状态的所有会话?

【问题讨论】:

    标签: node.js session express


    【解决方案1】:

    我会查看您用于会话数据的存储,除非您使用 cookie 来实际存储所有会话数据,而不仅仅是会话 ID。

    也许有一种方法可以访问会话列表,而不管您将会话数据存储在哪里,但我认为没有。但我可能在这里错了。

    Express Session API 被描述为here,以防你找不到它(我花了很多时间弄清楚许多 Express 对象实际上是 Connect 对象并在那里记录)。但你可能知道...

    【讨论】:

      【解决方案2】:

      此代码构建了一个路由,该路由返回一个包含所有已保存会话的数组。 如果您将express 与express-session 模块一起使用。

      router.get('/sessions', (req, res) => {
        req.sessionStore.sessionModel.findAll()
          .then(sessions => sessions.map(sess => JSON.parse(sess.dataValues.data)))
          .then((sessions) => {
            res.send(sessions)
          })
      })

      【讨论】:

        【解决方案3】:

        Session Store API 有一个可选的all() method“用于将存储中的所有会话作为数组获取”。

        你可以这样称呼它req.sessionStore.all((err, sessions)=>{ ... })

        我只是尝试使用它,但它是可选的,而且 memcached 驱动程序(在我的情况下)没有实现它。

        另一种方法是绕过这一点,并尽可能查询商店技术本身。 Hitalo 的回答就是这种方法的一个例子。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2014-09-05
          • 1970-01-01
          • 1970-01-01
          • 2011-03-19
          • 1970-01-01
          • 2015-11-02
          • 1970-01-01
          相关资源
          最近更新 更多