【发布时间】:2014-05-30 07:35:37
【问题描述】:
我正在使用会话和 cookie 对用户进行身份验证。我想检查有 cookie 的用户,如果有,我将设置会话变量。 所以基本上我所做的是:
- 检查会话变量是否存在
- 如果没有,检查用户是否有cookie
- 如果他有 cookie,我会比较数据库中的值。
- 如果一切正常,我将设置会话。
现在我想将该过程放入一个模块中,这样我就不必将该代码粘贴到我网站的每个路由中。
假设我已将所有代码放在位于 routes/middleware/check_auth.js 的中间件路由中。
如何导出此模块,以便在用户是否具有身份验证时检查我的路由页面,例如:
//routes/index.js
var check_auth = require('./middleware/check_auth');
module.exports = function(app){
app.get('/', check_auth, function(req, res){
if(variable_from_check_auth == true){
res.render('index_with_auth');
}else{
res.render('index_without_auth');
}
});
};
顺便说一句,我不确定这是否是正确的做法,或者我是否必须这样做:
- 在每条路由上调用模块。
- 在渲染之前检查一些会话变量。
如果有人可以帮助我!
【问题讨论】:
标签: node.js express routes middleware