3

Webアプリケーションのセッションの概念を理解するのに苦労しています。Express3.0でNode.jsサーバーを実行しています。

要件:

  • ログインするユーザーごとにセッションを作成します

  • このセッションを保存し、ユーザーがすでにログインしているかどうかを検証するために使用します(2つのデバイスが同じユーザーを同時に使用しないようにします)

  • 特定のページへのアクセスを制限します(セッションIDを他のデータと照合することにより)

パスポートストアセッションはどこにありますか?

4

1 に答える 1

2

ユーザーセッション(エクスプレスまたは接続を使用)をに保存しますreq.user

これは、必要なものを何でも格納できるエクスプレスセッションミドルウェアとは異なることに注意してくださいreq.session

パスポートを使用してユーザーセッションを維持するには、パスポートのミドルウェアを使用します。

app.use(express.session({ secret: 'keyboard cat' }));
app.use(passport.initialize());

次に、次のようにユーザーにアクセスします。

function someRoute(req, res, next) {
  // req.user = the user of this session
}
于 2013-01-09T21:29:05.180 に答える