こんにちは、私のURLは/ getSystemInfoで始まります。ライセンスがない場合、askForLicenseページにリダイレクトされますが、このリダイレクトは機能しません。Node.jsミドルウェアのリダイレクトが機能しない
app.get('/getSystemInfo', isAuthenticated, hasLicense, function(req, res)
{
logger.debug('querying iStar status');
...
}
var isAuthenticated = function(req, res, next)
{
if(req.isAuthenticated()) {
console.log("Very good, you are logged in ...");
return next();
} else {
console.log("Sorry, you are NOT logged in yet ...");
res.send(401);
}
}
var hasLicense = function(req, res, next)
{
// queryLicense.py will return error is no license
var getLicense = exec('queryLicense.py',
function (error, stdout, stderr) {
if (error !== null) {
console.log('License exec error: ' + error);
res.redirect('/askForLicense');
} else {
console.log("---- good, you have license ----\n");
return next();
}
}
);
};
app.get('/askForLicense', function(req, res)
{
console.log("---- Notice: need license ----");
res.sendfile(path.resolve('../client/askForLicense.html'));
});
コンソール出力はこのようなものです:コマンドが失敗しました::
非常に良い、あなたがで...
ライセンスexecがエラーログに記録されます。エラー/ binに/ shの-c getLicense.py
しかし、私は/ askForLicenseのログインが表示されません、なぜですか? 多くの感謝!
不要に到達していません次に戻るには、次のようにしてください。 – JordanHendrix