0

我正在使用 Parse.com Express 服务器构建一个 Web 应用程序,我想根据用户是否在服务器端登录来重定向用户。

是否有捷径可寻?

4

1 回答 1

2

这就是我使用 Passport.js 处理会话并为我加载用户的方式。如果您使用的是另一种方法,则可能需要测试不同于if(req.user).

function redirectIfAnon(req, res, next){
  if(req.user){
    return next(); // go to next handling function in middleware chain
  } else {
    var dest = encodeURIComponent(req.originalUrl);
    res.redirect('/login?bounce='+dest)
    // careful about redirect loops here... if you apply this middleware to /login,
    // and an anonymous user visits /login, it will keep redirecting to /login
  };
};

app.get('/test',
redirectIfAnon,
function(req, res){
  // req.user is guranteed to be populated if we get here
  parse.fetch(req.user.parseID, function(err...){
    ...
    // or something. ive never used parse.com
    res.render('parseResults');
  })
});
于 2013-09-01T21:36:06.613 回答