我使用express-session
作为Node.js Web应用程序的用户登录系统。我的问题是,每次我更新并重新启动Node.js服务器时,所有用户都会注销,这不是理想的行为(有多个用户通过本地网络登录,我希望每次重新启动时都不必重新登录)。
据我所知,我可以使用诸如connect-pg-simple
之类的东西(作为参考,我在node web应用程序中使用postgres数据库)来保持用户在服务器重启时登录,但我不确定如何实现这一点。
我知道会是这样的:
app.use(session({
store: new (require('connect-pg-simple')(session))({
// Insert connect-pg-simple options here
}),
secret: 'secret',
resave: false,
saveUninitialized: true
}));
但我不知道使用什么选项或如何保存用户会话,即使在服务器重新启动。
2条答案
按热度按时间zpgglvta1#
是的,你在正确的轨道上。
1.打开数据库并创建一个名为session的表。参见:https://github.com/voxpelli/node-connect-pg-simple/blob/HEAD/table.sql
1.像您发布的那样添加connect-pg-simple代码
1.从node-pg传递你正在使用的postgres池。
const session = require('express-session')const PGSessionStore = require('connect-pg-simple')(session)const pg = require('pg ')
zvms9eto2#
您的会话存储在应用程序运行时,因此在刷新时,它会在服务器重新启动时重置它可能在运行时保存的所有其他数据