session s
我的session 设置
app.use(logger('dev')); app.use(express.static(path.join(__dirname, 'public'))); app.use(bodyParser.urlencoded({extended: true})); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: false })); app.use(cookieParser()); app.set('trust proxy', 1) // trust first proxy app.use(session({ secret:'wsy1', key:'wsy1', cookie: { maxAge: 1000 * 60 * 60 * 24 * 7, // 1 week domain:'.wsy1.com' }, store: new MongoDBStore({ uri:dbUrl, collection:'session' }), saveUninitialized:true, resave:false }))
我使用MVC 做不局 然后再登录的时候 将用户信息存入session
exports.login = function(req,res){ var _admin = req.body.admin Admin.findOne({uname: _admin.uname}, (err, adminInfo)=> { if (err) { console.log(err) } if(!adminInfo){ console.log('该用户不存在'); } adminInfo.comparePassword(_admin.pwd,(err,isMatch)=>{ if (err) { return console.log(err) } if(!isMatch){ return console.log('密码错误') } req.session.adminInfo = adminInfo //console.log(req.session) //req.session.adminInfo = adminInfo return res.redirect('/backend'); }) }) };
但是我在
router.use((req,res,next)=>{ var url = req.originalUrl; _adminInfo = req.session.adminInfo console.log(_adminInfo) // if (url != "/backend/signin" && !req.session.adminInfo) { // return res.redirect('/backend/signin'); // } next(); });
打印的时候 返回
undefined