Feature / Auth 13

FW 管理側 公開側

セッション管理

ログイン状態、公開ページの一時文脈、入力途中の値を保持します。

セッション管理は、利用者がログイン中であること、公開ページでどの申込や予約を扱っているか、確認画面へ進む前の入力値、検索条件、戻り先などを一時的に保持するための機能です。Roundtableでは「URLに出す情報」「セッションへ隠す情報」「DBへ保存する情報」を先に分けておくと、発注者、実装者、AIに指示する人が同じ前提で画面遷移や権限制御を設計できます。

ログイン状態、公開ページの一時文脈、入力途中の値を保持するセッション管理画面例

この機能でできること

ログイン後のユーザーID、担当組織、権限、公開ページで復号した対象ID、ウィザードの途中入力、検索条件、一覧の表示件数、戻り先などを一時保存できます。画面遷移やAjax更新をまたいでも必要な文脈を維持し、利用者が同じ作業をやり直さなくてよい状態にします。

画面の流れに必要な一時情報を、URLやhiddenへ出しすぎずに保持します。 公開URLに出す必要がある値、セッションだけで持つ値、正式保存する値を分けることで、使いやすさと情報保護を両立します。

よくある利用場面

ログイン状態と利用者文脈を保持する 管理側や会員向け公開ページで、ログイン中のユーザー、所属、権限、対象プロジェクトをセッションに持たせます。
公開ページの対象情報を引き回す 招待URL、予約URL、顧客ポータルなどで最初に受けた暗号化IDを復号し、以後の画面ではセッション上の対象IDを使います。
入力途中や検索条件を残す 確認画面から戻った入力値、ウィザードの途中ステップ、一覧から詳細へ移った後の検索条件や表示件数を復元します。

プロンプト例

どの値をURLで受けるか、どのタイミングでセッションに保存するか、いつ破棄するか、直接アクセス時にどう扱うかをまとめて伝えると、画面遷移の実装範囲が明確になります。

プロンプト セッション管理を使って、公開予約フォームの途中入力と対象予約枠を保持してください。初回アクセス時だけ暗号化された予約枠IDを受け取り、復号後はセッションへ保存してください。入力、確認、完了の各画面では、氏名、メール、希望日時、備考をセッションまたはPOST値から復元し、完了後は予約フォーム用の一時情報を破棄してください。管理側の一覧では検索条件と表示件数をセッションに保持し、詳細から戻ったときに同じ一覧状態へ戻してください。

この機能を使うときのポイント

保持する範囲ログイン情報、公開ページの対象ID、検索条件、入力途中の値など、何を一時保存するかを画面ごとに決めます。
URLに出す値初回アクセスに必要な暗号化ID以外は、できるだけPOSTやセッションへ寄せ、個人情報や内部IDをURLへ出し続けないようにします。
破棄タイミングログアウト、完了画面表示後、対象変更時、期限切れ時に、不要になった一時情報を消すルールを決めます。
直接アクセス時の扱い必要なセッションがない状態で確認画面や完了画面へ来た場合、入力画面へ戻すかエラー表示にするかを決めます。

この機能を実装するときのコツ

実装では、セッションキーを用途ごとに分け、ログイン用、公開ページ用、検索条件用、フォーム下書き用を混ぜないようにします。公開側では初回URLの暗号化IDを復号した後、対象レコードが有効か、ログイン中ユーザーや公開文脈から見て扱ってよいかを確認してからセッションへ保存します。入力途中の値は確認画面や戻る操作で復元し、正式保存後には一時値を破棄します。テストでは、別タブ操作、ログアウト後、完了後の再アクセス、期限切れ、別ユーザーでの直接URLアクセス、検索条件の復元を分けて確認します。