Nodejs为会话添加了较少的cookie变量

时间:2013-12-02 11:42:08

标签: node.js session cookies express

我在Express中使用cookieSession,我想在不将其添加到cookie的情况下向会话添加信息。

我想只有sessionId才需要存储在客户端上,但我没有 了解如何添加更多信息,而不会在cookie中结束。

这大致是我想要的:

req.session.sessionId = "sessionId" -> in the cookiesession (It's work)
req.session.info2 = "info2" -> only linked to the session. (How to do this ?)

可以在不将会话发送到客户端的情况下将对象添加到会话中吗?

1 个答案:

答案 0 :(得分:2)

这就是cookieSession的工作原理:它将所有会话数据存储在cookie中。

如果您不想这样做,则需要使用常规express.session中间件(而不是express.cookieSession),但它需要您使用会话存储,因为必须存储该数据某处

您可以使用默认的MemoryStore - 它将所有数据存储在内存中,这意味着当您的Node应用程序重新启动时丢失 - 或使用更持久的解决方案,实例使用connect-redis将会话数据存储在Redis数据库中。

如果您只是不希望会话数据可见,还有一些客户端会话库可以完全加密存储在cookie中的数据,因此它不可见。其中一个库是node-client-sessions