2013-10-30 23 views
0

我想實現一個類似於asp.net mvc的allowanonymous屬性的認證邏輯。Nodejs Web應用程序認證allowanonymous或bypassauthorization過濾器?

在節點應用程序我有這樣的代碼

var authChecker = function(req, res, next){ 
if (req.session.user 
    && req.session.user.loggedIn) { 
    next(); 
} 
else { 
    res.redirect('/login'); 
} 
} 
app.use(authChecker); 

//this path should be allowed for anonymous access 
app.get('/public', function(req, res) { 

}); 

//this path is checked globally 
app.get('/private', function(req, res) { 

}); 

但我chould'nt弄清楚如何創造,我想和出登錄訪問路徑的過濾器...

我怎樣才能做到這一點?

回答

0

而不是use ing authChecker全局,只是在你想要保護的每條路線中使用它。

var authChecker = function(req, res, next){ 
if (req.session.user 
    && req.session.user.loggedIn) { 
    next(); 
} 
else { 
    res.redirect('/login'); 
} 
} 


//this path should be allowed for anonymous access 
app.get('/public', function(req, res) { 

}); 

//this path is checked globally 
app.get('/private', authChecker, function(req, res) { 

}); 
+0

安全最佳實踐,我們應當讓所有的應用程序專用和剛剛繞過授權的necassary網頁... – Serdar

+0

開發人員可能會忘記添加authchecker這是一個問題,但如果有人忘記添加bypassautorization或允許匿名的事情,這不是一個問題... – Serdar