Catalystアプリケーションのセッションプラグイン(Catalyst :: Plugin :: Session)が期限切れになるように設定すると、フラッシュデータと同期してしまうことがわかりました。具体的には、私はフラッシュデータがもはや新しい要求を持ち越さないことを発見しています。Perl触媒;セッションの有効期限とフラッシュの動作を設定する
これは正常ですか?どのように私はこれに対処することができますか?
Catalystアプリケーションのセッションプラグイン(Catalyst :: Plugin :: Session)が期限切れになるように設定すると、フラッシュデータと同期してしまうことがわかりました。具体的には、私はフラッシュデータがもはや新しい要求を持ち越さないことを発見しています。Perl触媒;セッションの有効期限とフラッシュの動作を設定する
これは正常ですか?どのように私はこれに対処することができますか?
あなたはオプションとしてflash_to_stash
を追加する必要があります:
<session>
dbi_dbh DB
dbi_table sessions
dbi_id_field id
dbi_data_field session_data
dbi_expires_field expires
flash_to_stash 1
expires 3600
</session>
ええ、セッションを誤って設定しました。ありがとうございました。 – s2cuts
完全に正常です。セッションの全ポイントは、1つの要求のデータを別の要求のデータと関連付けることができるようにすることです。リクエストの有効期限が切れたときにセッションを終了させると、そのリクエストのデータは今後のリクエストとは関係ありません。
具体的には、フラッシュデータはセッションデータの一部です。たとえば、Catalyst/Plugin/Session.pm
ファイルの_save_flash
メソッドを参照してください。 big warning for the delete_session
method:
注:この方法でもフラッシュデータが削除されます。
対処方法Sessionプラグイン以外のスキームを使用してリクエストからデータを保持する必要があります。アプリの詳細、永続化しようとしているデータ、古いセッションのデータを新しいリクエストにどのように関連付けるのか、私はそれ以上の具体的な推奨をすることはできませんでした。データベースバックエンドとの例のセッションを設定する場合
はあなたが私達にあなたの構成を示してもらえ。 – dgw