ドメインの異なるサイトでセッションを共有する
ドメインの異なるサイトでセッションを共有する
Railsの1.2移行では、セッションはデフォルトではCookieを使用しているので
サーバーが分散していてもセッション共有することができます。
※携帯サイトなどでは方式を検討する必要がありますが。
さてー実際には一つのサイトだけど
サイトの趣旨によってドメインを分割しているということもあると思います。
http://a.xxxx.co.jp/hoge.html
http://b.xxxx.co.jp/hoge.html
http://c.xxxx.co.jp/hoge.html
どれかでログインした情報を全てで利用したいなどです。
TOMCATなどでは、ドメインが異なるとセッションの共有は不能でしたが
Railsでは設定次第では可能なようです。
config/enviroments.rbにて45行目付近に
config.action_controller.session = {
:session_key => '_hoge_session',
:secret => 'e6531e28b332542b22beede1a848a83b487'
}
この記述を下のように追記すると
config.action_controller.session = {
:session_domain => 'xxxx.co.jp',
:session_key => '_hoge_session',
:secret => 'e6531e28b332542b22beede1a848a83b487'
}
このドメインの間でセッションを共有利用でき増した。
HTTPSのサイトとの間に関しても
config.action_controller.session = {
:session_secure => false,
:session_domain => 'xxxx.co.jp',
:session_key => '_hoge_session',
:secret => 'e6531e28b332542b22beede1a848a83b487'
}
この用に記述することでセッションを共有できますが
セキュリティー的によろしくないので、別途対応を実装することが推奨されます。