同じセッションを共有する異なるサーバー上にいくつかのRailsアプリを配置したいと思います。同じサーバー内でそれを行うことはできますが、異なるサーバー間で共有できるかどうかはわかりません。誰かがすでにそれをしたか、それを行う方法を知っていますか?
ありがとう
同じセッションを共有する異なるサーバー上にいくつかのRailsアプリを配置したいと思います。同じサーバー内でそれを行うことはできますが、異なるサーバー間で共有できるかどうかはわかりません。誰かがすでにそれをしたか、それを行う方法を知っていますか?
ありがとう
データベース セッション ストアを使用します。それの短いはこれです:
テーブルを生成するには、コンソールで次を実行します。
rake db:sessions:create
あなたのenvironment.rbに、この行を含めてください
config.action_controller.session_store = :active_record_store
アプリの設定方法によっては、同じシークレット( http://www.russellquinn)を使用するようにアプリを設定することで、同じドメイン(foo.domain、bar.domain、domain)のサイトからのCookieを簡単に共有 できます。 com / 2008/01/30 / multiple-rails-applications /
これで、sdfsf.com、dsfsadfsdafdsaf.comなどの異なるサイトがある場合、Cookieの性質上、特定のドメインに制限されるため、さらに多くのトリックを実行する必要があります。基本的に、あなたがやろうとしているのは、クロスサイトスクリプティングを使用して、セッションをハイジャックする代わりに、他のセッションからそれを読み取ることです。
その場合、同じCookieシークレットなどを使用してから、クロスサイトスクリプティングを組み合わせて、セッション情報を手動で抽出し、各サイトで再作成できます(または、ActiveRecordセッション{またはNFSセッションディレクトリ}を使用している場合は、リンク既存のものと一緒に)。簡単ではありませんが、実行できます。
または、ローテクな方法(私が以前に行ったこと)は、ログインページに各サイトの特別に細工されたログインページにアクセスさせ、アプリCookieを設定して次のCookieにバウンスすることです。かわいくないです。
データベースに基づくセッションを使用してみてください。
Rails 2.0 では、すべてのセッション データをクライアント マシン上の暗号化された Cookie に保存する CookieStore が導入されました。
http://izumi.plan99.net/blog/index.php/2007/11/25/rails-20-cookie-session-store-and-security/