小编典典

将Express / Redis用于会话存储时,“会话”未定义

redis

我正在尝试在我的Express应用程序中使用redis进行会话。

我执行以下操作:

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

app.configure('development', function(){     
    app.use(express.session({ secret: "password", 
                            store: new RedisStore({
                                          host: "127.0.0.1",
                                          port: "6379",
                                          db: "mydb"
                                        })  
          }));

稍后,在我的应用程序中,如果执行以下操作:

var whatever = req.session.someProperty;

我得到:

无法读取未定义的属性“ someProperty”

这表明req.session是未定义的 (我可以从config部分的console.log条目中看到)

我肯定有redis运行,并且可以看到我的应用最初连接到它(使用redis-cli监视器)


阅读 272

收藏
2020-06-20

共1个答案

小编典典

看起来您失踪了:

app.use(express.cookieParser());

app.use(express.session(...));打电话之前。

这里

2020-06-20