セッションの有効期限がかなり短い (15 分) 必要がある Catalyst アプリケーションを作成しています。標準の Catalyst フレームワーク認証モジュールを使用しているため、ユーザー データはセッションに保存されます。つまり、セッションの有効期限が切れると、ログアウトされます。
このアプリケーションの使用の多くは、完了までに 15 分以上かかるため、ユーザーは頻繁にフォームを送信して、セッション状態が失われ、再度ログインする必要があることに気付きます。
これが発生した場合、元のフォーム送信を保持したいと思います。ログインに成功した場合は、セッションが期限切れになっていないかのように、フォーム送信を続行して実行します。
コントローラーの auto() メソッドによって処理される認証処理があります。認証が必要なアクションを要求し、現在ログインしていない場合は、login() メソッドにリダイレクトされ、ログインフォームを送信し、送信後に処理します。auto メソッドが login() にリダイレクトするときにリクエストと任意のフォーム パラメータを保存し、login() が成功した場合はそれらを引き戻すことが可能であるように思われますが、最善の方法については完全にはわかりません。この情報を汎用/標準/再利用可能な方法で取得または保存する方法。(私はそれをセッションに保存し、引き出されたら削除することを考えています。それが悪い考えのように思える場合は、別の対処が必要です。)
これを行うための標準的な「ベストプラクティス」またはクックブックの方法はありますか?
(1 つのしわ: これらのフォームは POST 経由で送信されます。)