2

私はnodejsとmongodbを使用しています。ログインプロセスは正しく機能しており、セッションがどのように機能するかについてもよく理解しています。ユーザーがログインしてデータベースからユーザーのプロファイルを取得した後、次に何が起こらなければならないのか混乱していますか? ユーザーを認証することを送信するloginPostがあり、エラーがなければ、現在userProfileと呼ばれる別のページにリダイレクトされます。ただし、データベースからユーザーの実際のプロファイルを取得するにはどうすればよいですか? ログイン後またはloginPost機能中にデータベースにクエリを実行すると思いますか、それともjadeファイルをレンダリングする単純な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 に答える