Express
在github仓库中有很好的例子。其中之一负责身份验证,并说明如何将用户附加到
req.session对象。这是在
app.post('/login')路线内部完成的。要限制对某些页面的访问,请向这些路由添加一个简单的中间件
function restrict(req, res, next) { if (req.session.user) { next(); } else { req.session.error = 'Access denied!'; res.redirect('/login'); }}app.get('/restricted', restrict, function(req, res){ res.send('Wahoo! restricted area, click to <a href="/logout">logout</a>');});正如布兰登已经提到的那样,您不应在生产中使用MemoryStore。Redis是一个很好的选择。使用connect-redis访问数据库。一个示例配置如下所示
var RedisStore = require('connect-redis')(express);// add this to your app.configureapp.use(express.session({ secret: "kqsdjfmlksdhfhzirzeoibrzecrbzuzefcuercazeafxzeokwdfzeijfxcerig", store: new RedisStore({ host: 'localhost', port: 3000, client: redis })}));


