【发布时间】:2017-04-19 02:00:06
【问题描述】:
我正在学习在 Express 中使用 Node.js 中的“client-sessions”包。一切似乎都运行良好。但我想知道,如果会话过期,有没有办法让它调用函数?
我正在设置,以便会话只存储一个唯一的 ID。然后在会话之外,我存储所有用户数据和我需要的任何其他内容。这样一来,我的 cookie 和会话信息就会非常小。但我想知道会话何时过期,以便在会话结束后清除任何不需要保留的信息。
但我无法找到有关如何执行此操作的任何详细信息。我是否以错误的方式思考这个问题?如果我将所有内容都存储在会话中,它会尝试将所有内容都存储在 cookie 中,不是吗?
提前致谢。
【问题讨论】:
-
只需将数据存储在会话对象本身中,一切都会为您处理。如果您使用的是像样的会话管理器,则 cookie 仅带有会话 ID,会话对象本身是服务器端的。
-
@jfriend00 - 刚刚对其进行了测试,将一些信息保存到会话中,cookie 从 183B 变为 10KB。我认为它将会话中的所有内容保存到cookie中。我现在正在使用client-sessions。你会建议我找一个更好的会话管理器吗?
-
Express-session 不会那样做。
-
酷!这对我来说似乎工作得很好。那么没有简单的方法来检查会话的状态吗?例如:查看用户是否仍然有活动会话(没有用户实际与服务器进行任何联系)?
标签: node.js express cookies session-cookies