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
2016-07-21
知道問題在哪里了 ? ?express4 ?的session ?設置方式不一樣
2016-07-21