我正在使用 Express 开发 Node.js 应用程序。我正在检查每条路线的 session 。但我想将这种检查与我的路线分开。需要想法。
这是我的路线:
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'
});
});
这是我的 session 检查:
if (!req.session.email) {
return res.render(__dirname + "../../../views/management/accessdenied.jade", {
title: 'dont have access',
stylesheet: 'accessdenied',
error: 'forbidden'
});
}
最佳答案
制作自己的中间件。这将响应所有获取和发布请求。您将希望它位于所有其他“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();
}
});
关于javascript - 如何分离 session 控制而不是将其写在每个路由中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20800856/