gpt4 book ai didi

javascript - 如何分离 session 控制而不是将其写在每个路由中

转载 作者:行者123 更新时间:2023-12-02 17:58:19 24 4
gpt4 key购买 nike

我正在使用 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com