2017-01-19 16 views
0

私は以下を実行しようとしています。スタティックルートとエクスプレスでのユーザー確認

  1. すべての/要求は、/ publicフォルダのサーバーファイルである必要があります。 (例えばhttp://my.host/docu/index.html - > /public/docu/index.html)ユーザが許可されていない場合
  2. それは、「OAuthの/ログイン」私はSOFARしようとしたものをここでルート

にリダイレクトする必要があります..しかし、それはdoesnの

var staticMiddlewarePrivate = express['static'](__dirname + '/public'); 

app.use(/^\/(?!oauth).*/, function(req, res, next) { 
    if (req.user == null) { 
     console.log("doing redirect as not login"); 
     res.redirect('/oauth/login'); 
     return; 
    } 
    console.log("user logged in"); 
    staticMiddlewarePrivate(req, res, next); 
}); 

どうすればこの問題を解決できますか?

答えて

0

トリックは、ダイナミック後にスタティックルートを置くことだった:

app.use(/^\/(?!oauth).*/, function(req, res, next) { 
    if (req.user == null) { 
     console.log("doing redirect as not login"); 
     res.redirect('/oauth/login'); 
     return; 
    } 
    console.log("user logged in"); 
    next() 
}); 
app.use(express.static(__dirname + '/public')); 
関連する問題