javascript - express-session 如何设置 connect_sid
高洛峰
高洛峰 2017-04-11 12:29:42
[JavaScript讨论组]

我尝试在 使用session 的时候就新建一个user对象 用来保存connect_id

app.use(session({
    name:"Owen 's site",
    url: "localhost:5000",
    secret: "Owen 's try",
    resave: true,
    saveUninitialized: true,
    cookie: {maxAge: 60 * 1000},
    user: {}
}));

但是当我在路由中使用的时候,却不能找到这个user对象了

app.post("/sign-up",function (req, res) {
   console.log(req.session.user) // underfined     
})

问: 1.在哪儿存储connect_id ? 2.这样存储connect_id

另外我有一个疑惑,如果在connect_id 的过期时间没有结束之前,服务器重启了,那么存在服务器中的connect_id 缓存就没有了

但是再用户的cookie中还是会有这个id值, 这会导致什么样的问题?
如何解决这个问题?

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(1)
怪我咯

默认应该是存在内存里面,如果服务器重启了,session里面的数据就没有了,cookie里面的这个值,服务器端根据这个值来查询相应的session值,找不到就说明没有权限,你代码可以加下逻辑,没有session的话,就重新登录。

可以把session用redis存放,相应的包有

connect-redis
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号