ExpressJS会话与Cookie

我试图使用cookie来build立ExpressJS 4.2和cookierparsing器的用户会话,但是我发现的所有文档都是针对Expressjs 3.x或更旧版本的。

有人能指出我正确的方向吗?

文档或代码片断将不胜感激。

提前致谢!

======

我想使用PassportJS来validation本地用户与MongoDB,一切正常,除了这条路线(确保总是重新定向到/,即使当在MongoDB中find用户/通行证

// reusable middleware function ensureAuthenticated(req,res,next) { if(req.isAuthenticated()) {return next();} res.redirect('/'); // if failed... } router.get('/panel', ensureAuthenticated,function(req, res){ res.render('panel', {obj: testArr}); }); 

那是因为ensureAuthenticated找不到活动的cookie。

我的app.jsconfiguration是这样的:

 var express = require('express'); var path = require('path'); var favicon = require('static-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var passport = require('passport') var mongoose = require('mongoose'); var flash = require('connect-flash'); //Routes //===================================================================== var routes = require('./routes/index'); var admin = require('./routes/admin'); var panel = require('./routes/panel'); //Express configuration //====================================================================== var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); /*app.use(favicon());*/ app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded()); app.use(cookieParser('secret')); app.use(flash()); app.use(passport.initialize()); app.use(passport.session()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/', admin); 

您需要使用https://www.npmjs.org/package/express-session来初始化基于cookie的会话

 var session = require('express-session'); //code app.use(session({secret: 'keyboard cat'}));