我发现了许多其他语言的类似问题 - ASP.net,Django等......但是,我对Express.js感兴趣而不是Node.js。如何查看当前处于活动状态的所有会话?
答案 0 :(得分:1)
我会查看您用于会话数据的商店,除非您使用cookie实际存储所有会话数据,而不仅仅是会话ID。
也许有一种方法可以访问会话列表,无论你在哪里存储会话数据,但我认为没有。但我可能在这里错了。
Express Session API被描述为here,以防您无法找到它(我花了很多时间来弄清楚许多Express对象实际上是Connect对象并在那里记录)。但你可能知道了......
答案 1 :(得分:0)
此代码构建一个返回所有已保存会话数组的路由。
如果您将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)
})
})
答案 2 :(得分:0)
Session Store API有一个可选的all() method“用于以阵列形式获取商店中的所有会话”。
您将其称为req.sessionStore.all((err, sessions)=>{ ... })
我只是尝试使用它,但是它是可选的,而memcached驱动程序(以我为例)并未实现。
另一种方法是绕过此方法,并在可能的情况下查询商店技术本身。 Hitalo的答案就是这种方法的一个例子。