我想实现类似于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) {
});
但是我不知道如何为我想要通过登录访问的路径创建一个过滤器...
我该怎么做?
答案 0 :(得分:0)
而不是全局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) {
});