2012-04-13 76 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