req.isAuthenticated()使用NodeJS,Express和PassportJS返回false

req.Authenticated总是返回false,但validationinput错误的用户名和密码显示完美。

这是passportjsauthentication码

passport.js

passport.serializeUser(function(user, done){ done(null, user.id); }); passport.deserializeUser(function(id, done){ RegisterList.findById(id, function(err, user){ console.log('deserializing user:', user); done(err, user); }); }); /* Customer Login Config */ passport.use('customer-login', new LocalStrategy({ usernameField : 'username', passwordField : 'password', passReqToCallback : true }, function(req, username, password, done){ process.nextTick(function(){ RegisterList.findOne({'mobile_no' : username}, function(err, user){ if(err) return done(err); if(!user) return done(null, false, req.flash('loginMessage', 'No User Found')); if(user.password != password){ return done(null, false, req.flash('loginMessage', 'Invalid password')); } return done(null, user); }); }); })); 

这是我的路线代码路线

 module.exports = function(router, passport){ router.post('/login', passport.authenticate('customer-login', { successRedirect: '/home', failureRedirect: '/login', failureFlash: true })); router.get('/home', isLoggedIn, function(req, res){ res.render('secured/customer-home', {user: req.user}); }); }; function isLoggedIn(req, res, next){ console.log(req.session); if(req.isAuthenticated()){ return next(); } res.redirect('/login'); } 

帮助我解决这个问题…我坚持这一点

更新:

而使用console.log(req.session)得到这个 错误图像