【发布时间】:2017-05-07 23:54:08
【问题描述】:
我正在尝试将两个中间件与我的 /app 路由一起使用,以检查用户身份验证,然后检查其帐户的状态。我有两个中间件,但在我的req.session.accountStatus 不等于我提供的条件的情况下,我会遇到无休止的重定向。一般来说,我试图强制用户只能访问被重定向到的页面。我是否以错误的方式使用中间件?有更好的方法吗?
function isLoggedIn(req, res, next) {
if (req.isAuthenticated()){
return next();
}
res.redirect('/login');
}
function accountStatus(req, res, next) {
if(req.session.accountStatus == "active" || req.session.accountStatus == "trialing"){
return next();
} else {
//Endless loop. Need to fix
res.redirect('/app/settings/billing');
}
}
router.use(require('./site-routes'));
router.use('/app', isLoggedIn, accountStatus, require('./app-routes'));
【问题讨论】:
标签: node.js express middleware