【发布时间】:2014-06-12 05:06:04
【问题描述】:
有没有一种方法可以让我在服务器重启时保持用户会话,以帮助我保持良好和快速的开发?
我正在我的机器上本地处理 ExpressJS 节点项目。我正在使用Grunt-nodemon 来查看我的 JS 文件并在我进行更改后重新启动服务器。这意味着我项目上的任何会话(有用户登录)都被清除干净。
目前,如果我在某个深页面中并重新启动,我会被踢出登录页面并不得不重新导航,这真的很令人沮丧。
我使用护照作为会话中间件。我正在使用猫鼬作为我的主要应用程序数据存储,如果我能以某种方式使用它,那就太好了。
【问题讨论】:
-
为您的会话使用一些其他存储,例如 redis,而不是默认的内存存储。但除非你对会话做一些非常花哨的事情,否则我会推荐使用基于 cookie 的会话。
-
会话仍然是基于cookie的,只是在服务器重新启动后它们无效。 redis 不是数据库解决方案吗?
-
你不能使用 MemoryStore,另外,确保你使用的 sessionSecret 在服务器重启之间没有改变(我有这个问题);如果 sessionSecret 发生变化,express 将无法从数据库/选择的 sessionStore 中恢复您的数据。
标签: javascript node.js express passport.js