2014-06-18 109 views
0

我有以下中間件來保護我的獲取路線。句柄404資源錯誤

function isAdmin(req, res, next) { 
    if(req.user.role == "admin") { 
     return next(); 
    } 
    return res.send(404); 
} 

我發送錯誤的方式是否正確?

這是我的API調用:

$scope.users = APIService.query({ route:'users' }); 

如何,我可以趕上404,並做一些東西?

謝謝!

回答

1

...所以,有很多東西出現在搜索引擎上。

這就是說,試圖以此爲速戰速決,在一個方向點你可以採取:

function isAdmin(req, res, next) { 
    if(req.user.role == "admin") { 
     return next(); 
    } 
    res.status(404).send('You need to be admin to see this page'); 
} 

有好東西就處理404的在:

最後一個還提供了在呈現模板時處理錯誤的示例。

+0

謝謝!在我的查詢中,我如何處理角度的錯誤? – nofear87

+0

鄧諾。我是Angular的新手,但我知道你應該提出一個新的問題。因爲有幾種方法可以處理從Angular到node的異步調用,所以您應該在新問題中發佈角度應用程序中的代碼。這將爲您提供獲得第二個問題答案的最佳機會。 –

+0

中間件的順序很重要嗎?例如,當我使用中間件重定向404錯誤。他們必須站在最後?例如:app.get('/ api/users',isLoggedIn,isAdmin,isError函數(req,res)以及當我將中間件放在app.use中時有什麼位置?謝謝! – nofear87