2

メモリストアは本番用に設計されていないため、Passport で Cookie セッションストアを使用したい:

Warning: connection.session() MemoryStore is not
designed for a production environment, as it will leak
memory, and will not scale past a single process.

これが私のExpressの初期化です:

app.use(express.bodyParser({keepExtensions:true}));
app.use(express.cookieParser(cookieSecret));
app.use(express.cookieSession({ 
    key: cookieKey,
    secret: cookieSecret,
    maxAge: sessionTimeout
}));
app.use(passport.initialize());
app.use(passport.session());
app.use(express.methodOverride());
app.use(express.static(__dirname + '/public'));

express.cookieSessionに変更すると、すべて正常に動作しexpress.sessionます。ユーザーログインを使用cookieSessionすると成功しますが、次のページの読み込みが発生した後、ユーザーはログインしなくなります。パスポートを Cookie セッションで機能させるためのヒントはありますか?

Express 3.0.0 を使用しています

4

2 に答える 2

1

の初期化がcookieSession正しくありません。これを試して:

app.use(express.cookieSession({ 
  key    : cookieKey,
  secret : cookieSecret,
  cookie : {
    maxAge: sessionTimeout
  }
}));

sessionTimeoutまた、ミリ秒単位であることを確認してください。

于 2013-10-15T14:39:14.593 に答える