无法从另一条路线访问会话

时间:2017-03-17 16:21:17

标签: node.js session express

我正在使用client-sessions这是我的代码:

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会返回一个空对象。

我已经尝试了express-session并遇到了同样的问题

这是我的配置:

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我认为您需要检查“要求”部分,也许您已拼错会话。