node使用多进程后,数据库保存session如何保持sessionID并查找sessions?
我使用了node-express,由于开启了多进程后,cookies不能共享,并且session.cookis.secure官方也推荐设置为true,就导致每次请求sessionID都会改变,而每次我只在登登录时存一些信息至session,请问我如何根据sid从数据库中取出对应的session信息呢?
这是我的session设置:
app.use(session(Object.assign({}, {
name: 'sessionUserId',
saveUninitialized: false,
resave: false,
rolling: true,
cookie: {
secure: true
},
secret: SESSIONSECRET,
store: new MongoStore({ mongooseConnection: db, stringify: false}),
}
)));
这是我取值的例子:
req.sessionStore.get(req.sessionID, (err, session)=>{
console.log(req.sessionID, err, session)
})
每次登录验证通过,就会往session存入信息,然后跳转路由至首页,但一旦跳转或其它请求,sessionID就会变化,
这个时候根据sid自然在数据库查不到信息,这该怎么解决,有啥思路吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论