我在我的快递应用程序中使用express.session()所以我创建了一个中间件用于身份验证用户,然后再将它们发送到“/”我的代码是:
var express = require('express');
app.configure(function(){
app.use(express.cookieParser('keyboard cat'));
app.use(express.session( {secret : "my secret"}));
app.use(app.router);
});
var accessChecker= function(req,res,next){
if (req.session.user.name && req.session.auth){
next();
}else{
res.redirect('/login');
}
}
app.get('/',accessChecker(), routes.index);
当我运行此代码时,我收到此消息:
if (req.session.user.name && req.session.auth){
^
TypeError: Cannot read property 'session' of undefined
我尝试将accessChecker函数 放在app.configure之前,并在accessChecker函数 中使用express.cookieParser()和express.session()但总是得到相同的消息!