我正在嘗試編寫中間件進行身份驗證。我希望這個if語句將用戶重定向到'/'
,如果他們是而不是登錄。如果他們已經登錄,我不想將它們重定向到'/ news'。expressjs有條件重定向
/*Simplified for this example*/
if(rs.authenticated === true) {
next();
} else {
res.redirect('/');
}
有沒有辦法在這些if語句中做到這一點?或者我必須寫一個新的方法?我用if語句嘗試了幾種方法,但我只是得到了重定向循環。
的,如果在我的例子聲明實際上是從一個方法(我用它來保護線路,auth.restrict),我有叫LOGGED_IN,我使用的非保護線路因此,如果他們已經登錄的另一種方法在他們被重定向到'/ news'而不是停留在登錄頁面上。我只是想,如果我可以使用所有路線的一種方法。但是,也許使用兩種不同的方法是更好的選擇? – georgesamper
那麼你需要邏輯來避免重定向循環,所以你需要檢查'req.path'並且只有在它們不是已經請求'/'的時候纔將它們重定向到'/',或者遵循我的建議。 –
如果我只是渲染視圖,而不是重定向,則不會將數據傳遞給它。有沒有辦法解決這個問題? – georgesamper