2

我正在使用 nodejs 和 mongodb。我的登录过程正常工作,并且对会话的工作方式有一个很好的了解。我只是对用户登录以从数据库中提取用户的个人资料后接下来会发生什么感到困惑?我有发送对用户进行身份验证的 loginPost,如果没有错误,它将当前将它们重定向到另一个名为 userProfile 的页面。但是,如何从数据库中提取用户的实际个人资料?我是想在登录后或在 loginPost 函数期间查询数据库,还是必须在我调用的新页面上发生,这是一个简单的 exports.userProfile 页面呈现玉文件?

这是我用于 loginPost 的代码:

exports.loginPost = function(req, res, next) {
    passport.authenticate('local', function(err, user, info) {
        if (err) { return next(err) }
        if (!user) { return res.redirect('loginError'); }
        req.logIn(user, function(err) {
          if (err) { return next(err); }        
      return res.redirect('userProfile');
    });
  })(req, res, next);
};

更新以包括会话:

app.use(express.cookieParser());

app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.session({ secret: 'this is a secret'

    }));
4

1 回答 1

0

两种选择都可以考虑。但是,如果您希望渲染功能/模块轻量级,请在 loginPost 功能期间查询以提取用户信息并将这些信息添加到导出中。

于 2013-07-02T16:01:47.740 回答