1

こんにちは、私はexpressjs自分の Web アプリケーションに使用しており、sessionミドルウェアを使用しています。私の質問は、セッションが期限切れになる直前に何かを行うにはどうすればよいですか?

たとえば、セッションに何かを保存し、req.session.cookie.maxAge60000 (1 分) に設定し、セッションがタイムアウトしたときに、セッションのデータをディスクに保存したいのですが、どうすればよいですか? API を確認したところ、destroy機能のみがサポートされていましたcallback...

ありがとう!

4

1 に答える 1

1

あなたが使用していると仮定するとconnect-session、セッションの有効期限イベントのようなものはありません。

セッションは次のいずれかで期限切れになります。

  • クライアント上 (Cookie が古くなったとき)。リクエストが行われるまでそれを知る方法がないため、イベントがトリガーされない危険性があります。
  • セッションストアで、通常は何らかの形式の有効期限を使用します。すべてのセッション ストアがイベントをサポートしているわけではないため、通常、通知を行うことはできません。

setTimeout()ただし、タイムアウトになったときに、セッションの有効期限が現在に十分近いかどうかを確認し、必要なことは何でも行うことを使用して、独自のチェックを実装してみてください。

于 2012-10-31T14:51:51.177 に答える