我希望应用程序的管理员能够销毁所有常规用户的会话。
在快递4中,我们可以使用
销毁会话req.session.destroy();
但是此函数会破坏附加到请求的会话。有没有办法销毁除当前请求会话(管理员会话)之外的所有会话?如何从请求中访问所有会话?
答案 0 :(得分:1)
这取决于你使用的会话商店。您需要从中删除会话。
如果您使用MongoDB,则可以轻松删除指定的会话:
db.sessions.remove({admin:false})
使用redis,最简单的方法是刷新整个数据库,但是你也会删除当前的会话。
flush db
您可以迭代按键并逐个删除它,但我不推荐它。 redis keys(*)
锁定数据库,并且有一百万用户,这可能是一个大问题。