我正在使用express开发Node.js应用程序。我正在检查每条路线的会话。但是我想把这个检查与我的路线分开。需要点子。
这是我的路线:
app.get('/Management', function(req, res) {
if (!req.session.email) {
return res.render(__dirname + "../../../views/management/accessdenied.jade", {
title: 'dont have access',
stylesheet: 'accessdenied',
error: 'forbidden'
});
}
return res.render(__dirname + "/views/index", {
title: 'Management',
stylesheet: 'managementindex'
});
});
这是我的会话检查:
if (!req.session.email) {
return res.render(__dirname + "../../../views/management/accessdenied.jade", {
title: 'dont have access',
stylesheet: 'accessdenied',
error: 'forbidden'
});
}
答案 0 :(得分:2)
制作自己的中间件。这将响应所有获得&发布请求。您将需要它在所有其他'app.use()'调用(bodyParse,cookieParser等)的底部
app.use(function(req, res, next) {
if (!req.session.email) {
res.render(__dirname + "../../../views/management/accessdenied.jade", {
title: 'dont have access',
stylesheet: 'accessdenied',
error: 'forbidden'
});
} else {
next();
}
});