【发布时间】:2016-11-05 04:25:38
【问题描述】:
使用express js 和express-session 我有这个主要的经典会话中间件,它将cookie 的maxAge 定义为一小时。
var express = require('express');
var session = require('express-session');
var RedisStore = require('connect-redis')(session);
var ExpressServer = express();
ExpressServer.use(
session(
{
secret : 'secret',
// Forces session to be saved even when unmodified
resave : false,
rolling : true,
// Forces session to be saved even when unmodified
saveUninitialized : true,
// Controls result of unsetting req.session (through delete, setting to null)
unset : 'destroy',
cookie: {
path: '/',
proxy: secureCookie,
secure: secureCookie,
httpOnly: true,
maxAge: 1000 * 60 * 60
},
store: new RedisStore(
{
client: RedisClient
}
)
}
)
);
但是,我有一些从客户端到服务器定期(每 30 秒)调用的路由,假设其中之一是:
ExpressServer.get(
'/periodic',
function (req, res, next) {
//doSomthing()
}
由于此路由是从客户端定期调用的,因此我需要它不会导致 cookie 到期日期的更新(以防用户将浏览器保持打开状态)并保留当前到期日期(从最后一个不-定期路由调用)
我怎样才能实现它?
【问题讨论】:
标签: node.js session express cookies express-session