2012-04-13 72 views
3

我使用express和nodejs,會話不會粘在Firefox中。但是,Chrome的工作很好。Node.js expressjs會話不會粘在Firefox中

我有我的maxAge到14400000,我讀過可能是一個問題,因爲我的本地計算機是格林威治標準時間,但它似乎並不堅持。

這是我已經配置:

req.session.user = 'something' 

任何想法,這可能是:

app.use(express.cookieParser()); 
    app.use(express.session({ secret: 'mysecret', store: new RedisStore, cookie: { maxAge: 14400000 }})); 

我做簡單的設置呢?

謝謝!

+0

如果你查詢數據庫,我猜它包含會話。 – mihai 2012-04-14 13:03:46

+0

戴夫同樣的問題出現在我的火狐瀏覽器加載無限,如果使用express.session與Mozilla,而鉻工作正常..你有沒有找到任何參考?... – Zeeshan 2014-01-30 20:41:50

回答

1

當您第一次建立會話時,請嘗試使用req.session. regenerate(callback)。它看起來像這樣:

app.use(express.cookieParser()); 
app.use(express.session({ secret: 'mysecret', store: new RedisStore, cookie: { maxAge: 14400000 }})); 

var user = //Define your user 

req.session.regenerate(function() { 
    req.session.user = user; 
    res.redirect('/loggedin'); 
}); 

試試看!

+0

這將導致會話重新創建每個頁面視圖。我認爲這可能比解決方案更適合解決問題。要做更多的探索我自己。 – 2013-05-04 23:12:44

+0

絕對是一種解決方法,讓我知道你是否找到了更好的解決方案。 (我真的不確定這個問題是否仍然存在)。 – VedTopkar 2013-06-12 19:27:25

+0

我忘了這件事。呃哦...只是檢查,它不在我的代碼中,所以它必須用'npm update express'或其他東西來排序。 – 2014-07-05 02:24:58