如何在nodejs中正确使用经过身份验证的中间件

时间:2016-10-07 22:55:50

标签: node.js express passport.js

我刚开始使用express框架在节点上工作。

app.use('/', auth, users);

这是我的路线档案

router.get('/' , function(req, res, next) {
   render("dashboard");
});

router.get('/first' , function(req, res, next) {
   //first request
});
router.get('/second' , function(req, res, next) {
   //second request
});
so on...

我的问题是,当我通过中间件时,它检查每个请求是否使用passportjs进行身份验证,但假设我有一个仪表板,我发送10个ajax请求来获取小部件的数据。因此,仅对于仪表板,它将调用反序列化函数11次,首先渲染页面,然后再调用10个ajax请求。我读了这里给出的答案, How to properly use Passport.js? 但采用这种方法是否可以?

1 个答案:

答案 0 :(得分:1)

是的,如果您不想遇到安全问题,可以采用这种方法。您必须检查每个请求的用户,检查浏览器调试器中的网络选项卡是非常简单的,了解发生了什么,然后开始欺骗您的请求。您不能牺牲性能安全性,因为您希望执行少量查询。