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

时间:2016-05-19 03:25:28

标签: node.js express express-session

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

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

我有 req.session.user &的 req.session.admin

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

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

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

那么我怎么能破坏1个会话而不是另一个呢?

3 个答案:

答案 0 :(得分:2)

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

既然你在谈论“单独会话”,那么你要完成的目标并不完全清楚。您可以使用delete运算符从会话中删除单个属性,如下所示:

delete req.session.admin;

这将从会话对象中删除.admin属性,但保持会话本身及其他属性不变。

答案 1 :(得分:0)

可能对您有所帮助 - >删除req.session.user

答案 2 :(得分:0)

您可以尝试以下操作来取消设置会话属性:

delete req.session.username;
//OR
req.session.username=null;