Node.js 无法从其他路由访问会话

Node.js 无法从其他路由访问会话,node.js,session,express,Node.js,Session,Express,我正在使用,这是我的代码: app.post("/login", (req, res)=>{ if (!req.session.activeUser){ User.findOne({username:req.body.username}).then(doc=>{ req.session.activeUser = req.body.username res.send(req.session.activeUser

我正在使用,这是我的代码:

app.post("/login", (req, res)=>{

    if (!req.session.activeUser){
        User.findOne({username:req.body.username}).then(doc=>{
            req.session.activeUser = req.body.username
            res.send(req.session.activeUser + " Logged in successfully")
        }).catch(e=>{
            res.send(e)
        })
    }else {
        res.redirect("/")
    }

})

app.get("/logout", (req, res)=>{
        req.session.reset()
        res.redirect("/")
})

app.get("/online", (req, res)=>{
    res.send(JSON.stringify(req.session))
    console.log(JSON.stringify(req.session))
})
/login
的响应工作正常,但是控制器
/online
返回一个空对象

我试过了,也遇到了同样的问题

以下是我的配置:

app.use(sessions({
    cookieName: "session",
    secret: "root",
    duration: 30 * 60 * 1000,
    activeDuration: 1000 * 60 * 5
})) 

确保在会话全局中间件中将cookieName属性设置为“session”。

我认为您需要检查“require”部分,可能您拼错了会话。

我非常确定我已经在文件顶部实现了该包,我可以看到您使用的是“sessions”而不是“session”所以再次检查@bahajrsessions是包的名称,因为session是cookie的名称