【问题标题】:Express and Redis sessions don't survive browser closeExpress 和 Redis 会话无法在浏览器关闭后继续存在
【发布时间】:2014-01-19 10:44:40
【问题描述】:

我正在尝试使用 RedisStore 使持久会话正常工作,但是每当我关闭浏览器时,会话就会被破坏。我尝试设置 maxAge 和 ttl,但没有什么能让会话在浏览器重启后存活下来。我做错了什么?

我的代码的相关部分是:

var app = express();
var RedisStore = require('connect-redis')(express);

app.use(express.cookieParser('my secret key'));
  app.use(express.session({
  store: new RedisStore({
    host: 'localhost',
    port: 6379,
    ttl: (60000 * 24 * 30),
    cookie: { maxAge: (60000 * 24 * 30) }
  }),
  secret: 'my secret key'
}));

【问题讨论】:

    标签: node.js session express redis session-cookies


    【解决方案1】:

    cookie 应该属于你传递给 express.session 的对象,而不是你传递给 RedisStore 的对象。

    尝试以下方法:

    app.use(express.session({
      store: new RedisStore({ host: 'localhost', port: 6379, ttl: (60000 * 24 * 30)}),
      cookie: { maxAge: (60000 * 24 * 30)},
      secret: 'my secret key'
    }));
    

    【讨论】:

      猜你喜欢
      • 2016-05-20
      • 2012-08-31
      • 1970-01-01
      • 1970-01-01
      • 2016-09-10
      • 2015-01-28
      • 1970-01-01
      • 2012-12-28
      相关资源
      最近更新 更多