如何使用 node.js express-session 关闭单独的会话?

Wee*_*Wee 3 node.js express express-session

我在 express.js 应用程序中使用 express-session 模块进行会话处理

我的 express.js 应用程序为用户和管理员权限创建会话。

我有req.session.userreq.session.admin

我遇到的问题是我不知道如何关闭 1 个会话而不是另一个。

您可以使用以下命令关闭会话:req.session.destroy()

但这会破坏两个会话。我尝试使用req.session.user.destroy()没有运气。它不是有效的命令。

那么我怎样才能销毁 1 个会话而不是另一个会话呢?

jfr*_*d00 6

在正常配置中,每个站点的每个浏览器只有一个会话对象。该会话对象可以有多个属性,但只有一个会话,因此您不会为了删除属性而破坏会话。此外,会话只是一个普通的 Javascript 对象,因此您可以从中添加/删除属性。

由于您在谈论“单独的会话”,因此并不完全清楚您要完成的任务。您可以从delete操作员的会话中删除单个属性,如下所示:

delete req.session.admin;
Run Code Online (Sandbox Code Playgroud)

这将从.admin会话对象中删除属性,但保持会话本身和其上的其他属性完好无损。