我有0.8.21 nodejs和3.1.0 express框架(模塊是最新的)。 沒有與快遞,MongoDB的和護照AUTH著名的Heroku項目:在nodejs刷新頁面時保持新會話
https://github.com/madhums/nodejs-express-mongoose-demo
會話存儲:
var express = require('express')
, mongoStore = require('connect-mongo')(express)
...
app.use(express.logger('dev'))
// set views path, template engine and default layout
app.set('views', config.root + '/app/views')
app.set('view engine', 'jade')
app.configure(function() {
// dynamic helpers
app.use(viewHelpers(config))
// cookieParser should be above session
app.use(express.cookieParser())
// bodyParser should be above methodOverride
app.use(express.bodyParser())
app.use(express.methodOverride())
// express/mongo session storage
app.use(express.session({
secret: 'noobjs',
store: new mongoStore({
url: config.db,
collection : 'sessions'
})
}))
// connect flash for flash messages
app.use(flash())
// use passport session
app.use(passport.initialize())
app.use(passport.session())
app.use(express.favicon())
// routes should be at the last
app.use(app.router)
...
問題:我希望用戶登錄時僅70秒,所以我在app.use(express.session({
之後寫了cookie: {maxAge: 70*1000},
,結果如下:用戶只能通過站點走過70秒,而不是註銷。如果用戶刷新頁面或投奔鏈接,會話更新到如數據庫:
{ "_id" : "cVYWfv7kHbaEPNUCD2Bbbaw4",
"session" : "{\"cookie\":{\"originalMaxAge\":70000,\"expires\":\"2013-03-02T14:46:52.146Z\",\"httpOnly\":true,\"path\":\"/\"},\"passport\":{\"user\":\"51320f3fd04c162d14000003\"},\"flash\":{}}",
"expires" : Date(1362235612146) }
但無論如何,用戶登錄時只有70秒。我的意思是會話更新爲mongodb,新的日期爲expires
,但用戶仍然可以僅在70秒鐘登錄。
請幫助我。 謝謝。
謝謝你的回答。我認爲有很簡單的方法可以快速運行我所需要的。好的,會嘗試。 – sirjay 2013-03-03 20:26:24