警告: これの一部は非常に間違っている可能性があるため、私の仮定が間違っている場合はお知らせください。
これが私が達成しようとしていることです:
ログインにrestful-authenticationを使用しています。ただし、UI に flex/ruby_amf を使用しているため、flex からの各接続を個別に認証する必要があります。
私がそれを行うことにした方法は、ログイン画面を組み込みのフラッシュ ページにリダイレクトし、セッション ID をフラッシュ変数として挿入することでした。Flash アプリはすべてのリクエストで session-id を送信し、関連するすべてのコントローラーの before フィルターが、session-id で識別されるセッションに関連付けられているユーザーがログオンしているかどうかを確認します。
ユーザーをセッションに関連付ける方法は、「user_id」列をセッション テーブルに追加し、ログイン関数から呼び出される SQL「update sessions set user_id...」タイプのクエリを実行することです。
ただし、user_id はユーザーが 2 回目にログインしたときにのみ更新されます。少し調査したところ、ログイン関数の実行中にセッション テーブルのレコードがまだ存在しないことがわかりました。
したがって、この時点までのすべてが理にかなっていて、ベストプラクティスなどに準拠している場合、私の質問は次のとおりです。
セッション テーブルのレコードはどの時点で作成されますか? ログイン関数でセッション オブジェクトを更新し、レールに user_id をデータベースに書き込む方法はありますか?
Rails でのセッションの動作は、私にとって本当に謎です。助けていただければ幸いです。
ありがとうございました。