2015-12-26 212 views
0

在這裏我使用快速會話來存儲用戶會話,但只是發現req.session.user總是未定義。快速會話沒有存儲會話

有趣的是,當我使用Chrome插件郵遞員訪問時,沒有問題。

那麼如何解決?

var session = require('express-session'); 
app.use(session({ 
    resave: false, 
    secret: 'key', 
    saveUninitialized: 
    originalMaxAge: 100000, 
    cookie: { 
     secure: true 
    } 
})); 

app.use(function(req, res, next) { 
    console.log(req.session.user); 
    if (!req.session.user) 
     req.session.user = {'zh':'123'}; 
    next(); 
}); 

回答

0

試試這個,

app.use(session({ 
    resave: false, 
    secret: 'key', 
    saveUninitialized: true, 
    cookie: { 
     originalMaxAge: 100000, 
     secure: true 
    } 
})); 

我從來沒有使用originalMaxAge但我相信它有類似的特徵,因爲MAXAGE的餅乾。

參考:https://github.com/expressjs/session

0

你不應該設置Cookie:

app.use(session({ 
    resave: false, 
    secret: 'key', 
    originalMaxAge: 100000 
})); 

我已經在我的電腦上運行,其結果是你想要的。

0

試試這個,

app.use(session({ 
    secret: "your-secret", 
    resave: true, 
    saveUninitialized: true, 
    cookie: { 
     maxAge: 1000000, 
     secure: true 
    } 
}) 

,而不是使用原始最高年齡,你可以使用MAXAGE你也沒有傳遞給saveUninitialized任何價值,這是一個必要的參數。