我想实现一个类似于asp.net mvc的allowanonymous属性的身份验证逻辑。
在节点应用程序中我有这样的代码
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) {
});
但我不知道如何为我想要无需登录即可访问的路径创建过滤器...
我该怎么做?
无需在全局范围内
use
使用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) {
});