Ale*_*lex 21 session redis node.js 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"
})
}));
Run Code Online (Sandbox Code Playgroud)
稍后,在我的应用程序中,如果我执行以下操作:
var whatever = req.session.someProperty;
Run Code Online (Sandbox Code Playgroud)
我明白了:
无法读取未定义的属性'someProperty'
这表明req.session是未定义的 (我可以在我的配置部分的console.log条目中看到这一点)
我肯定有redis运行,并且可以看到我的应用程序最初连接到它(使用redis-cli监视器)
小智 53
除非您按此顺序拥有这3个,否则会话将无效:
app.use(express.cookieParser());
app.use(express.session());
app.use(app.router);
Run Code Online (Sandbox Code Playgroud)
我不确定路由器是否必须使用会话,但如果它放在它们之前它会破坏它们.
Joh*_*yHK 10
看起来你错过了:
app.use(express.cookieParser());
Run Code Online (Sandbox Code Playgroud)
在你app.use(express.session(...));打电话之前.
看到这里.
| 归档时间: |
|
| 查看次数: |
24959 次 |
| 最近记录: |