如何跳过中间件并转到路线?
app.use(function(req, res, next) {
if (req.originalUrl === '/login') {
// How to skip the auth middleware and continue the routes?
??
}
next();
});
// auth middleware
app.use(acl.auth);
app.use('/', routes);
答案 0 :(得分:0)
acl.auth
会因每次请求而被解雇。回答你的问题,你可以这样做:
app.use(function(req, res, next) {
if (typeof req.user !== 'undefined') {
// Define a variable in request
req.isAuthenticated = true;
next();
}
next();
});
在您的acl.auth中,您可以检查该变量。
if(req.isAuthenticated) next();
您也可以不使用app.use()
跳过中间件。
例如:
需要身份验证的路由:
app.get(acl.auth, function(req, res){});
无需身份验证的路线:
app.get(function(req, res){});