应用程序.js
app.use(express.cookieParser('your secret here'));
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/sample);
var MongoStore = require('connect-mongo')(express);
var sessionExpireTime = 10000000; // 10000 sec
var sessionStore = new MongoStore({
mongoose_connection: mongoose.connection[0],
db: config.db.name,
clear_interval: sessionExpireTime / 1000 // second
});
app.use(express.session({
secret: 'your secret here',
store: sessionStore,
cookie: {
httpOnly: false,
maxAge: new Date(Date.now() + sessionExpireTime) // millisecond
}
}));
app.get('/', function(req, res) {
if (req.session.user) {
res.render('index', {title: 'Welcome!'});
} else {
res.redirect('/login');
}
});
app.get('/login', function(req, res) {
res.render('login', {title: 'login'});
});
app.get('/auth', function(req, res) {
req.session.user = {name: 'John'};
res.redirect('/');
});
当调用“/login”然后重定向到“/”页面。以及在 MongoDB 集合的“会话”中创建的文档。
但是 req.session.user 会在 10 秒后从 req.session 中销毁。当您重新加载页面时,它将返回登录屏幕。
我知道监视 connect-mongo 的 clear_interval 的时间间隔没有使 cookie 过期。为了更改 req.session.user 的过期持续时间,是否会有一些必要的设置?
谢谢我收到了你不熟悉我的英语的关系...