2013-10-16 46 views
1

我正在使用護照進行登錄。 我想擁有除'/'之外的所有路線以要求登錄。nodejs路由:除第一頁外的所有具有身份驗證的路由

我有一個

ensureAuthenticated 

功能,檢查我認證。

我寧願不希望有投入每一個路由中間件調用:

app.get('/first', ensureAuthenticated,...) 
app.get('/second', ensureAuthenticated,...) 

是否有分配ensureAuthenticated所有路線除了'/'的方法嗎?

回答

4

您可以使用app.all爲:

// regular route 
app.get('/', ...); 

// make sure all following routes will be passed through ensureAuthenticated 
app.all('*', ensureAuthenticated); 
app.get('/first', ...); 
app.get('/second', ...); 
+0

偉大的作品!感謝這個優雅的解決方案。注意:當然,我還有一個app.post('/ login')路由 - 這也需要在app.all之前,以便我的登錄工作:) – faboolous