4

接続のドキュメントによると、ブラウザを閉じるとセッションが期限切れになるはずです。

デフォルトcookie.maxAgeでは ですnull。つまり、「expires」パラメータが設定されていないため、Cookie はブラウザ セッション Cookie になります。ユーザーがブラウザーを閉じると、Cookie (およびセッション) が削除されます。

セッションストアにconnect-mysqlでexpress 3を使用しています(connect-mongoでも試してみましたが、同じです)。これがセッションデータの設定方法です。

 req.session.userid = results[0].id;
 req.session.ip = req.connection.remoteAddress;
 req.session.useragent = req.headers['user-agent'];
 req.session.is_logged_in = true;

これは、何らかの理由で Google chrome ブラウザを除いてすべて正常に動作します (これは OS X Lion にあります。現在、win または linux でテストする可能性はありません)。

Google Chrome でこの問題が発生し、修正方法を知っている人はいますか?

4

1 に答える 1

2

これはかなり大雑把な推測ですが、これであってもあまり驚かないでしょう。これを利用する拡張機能がインストールされている場合、Google chrome はバックグラウンドで実行され続けます。その場合は、セッションのログオフログをリセットする必要があります。

そうでない場合は、開発者ツールを開いて ( cmd+alt+i)、そこから Cookie に関するすべての情報をコピーしてください ( resources-> cookies-> yourdomain.com)。(特にExpiresコラムに書いてあることは、と言うべきなのでSession

于 2012-06-13T19:53:33.803 に答える