2013-01-09 47 views
-1

在我node.js的代碼,我有很多路由器和認證管理,如:Node.js:如何更好地管理路由器和身份驗證?

app.get('/', fn); 
app.get('/admin', checkAccess, fn); 
app.get('/blog', checkAccess, fn); 

可以爲路由器數量承擔責任:水災是十幾個甚至更多,

我怎麼管理他們更好?

是否有管理模塊?或類似的東西?

回答

1

根據您的示例或簡單的修飾器模式,您可以使用多個回調。

多個回調

function checkAccess(req, res) { 
    // check for access 
    if (!access) { 
     res.send(403); 
    } 
} 

app.get('/', fn); 
app.get('/admin', checkAccess, fn); 
app.get('/blog', checkAccess, fn); 

簡單的裝飾圖案

function requiresAccess(fn) { 
    return function (req, res) { 
     // check for access 
     if (access) { 
      fn(req, res); 
     } else { 
      res.send(403); 
     } 
    } 
} 

app.get('/', fn); 
app.get('/admin', requiresAccess(fn)); 
app.get('/blog', requiresAccess(fn)); 
相關問題