2013-10-16 99 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