猿问

express-session 如何设置 connect_sid

我尝试在 使用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值, 这会导致什么样的问题?
如何解决这个问题?


慕哥6287543
浏览 988回答 1
1回答

呼唤远方

默认应该是存在内存里面,如果服务器重启了,session里面的数据就没有了,cookie里面的这个值,服务器端根据这个值来查询相应的session值,找不到就说明没有权限,你代码可以加下逻辑,没有session的话,就重新登录。可以把session用redis存放,相应的包有connect-redis
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答