1

複数のアプリケーションがあります。cookie_store を使用して、それらの間でセッションを共有できるようにしたいと考えています。

アプリケーション A:

before_filter :authenticate_from!

def authenticate_from!
    unless session['warden.user.user.key'].nil?
        @user=User.find_or_initialize_by_id(ky[1])
        sign_in @user
    end
end

動作しますが、アプリケーション B のセッションを識別できません。私は何をすべきか?

4

1 に答える 1

3

これは可能ですが、これらのアプリケーションは両方とも共通のサブドメインを持つ必要がありsecret_token、構成の値は同一である必要があります。

たとえば、Cookie が に割り当てられている限り、app1.example.comとを使用できます。app2.example.com.example.com

このオプションは と に保存されconfig/initializers/session_store.rbますconfig/initializers/secret_token.rb

注意として、シークレット トークンの値がデフォルトのインストールと同じくらい長くランダムであることを確認してください。短くて便利なものに切り替えるだけではいけません。

于 2013-02-28T22:32:29.700 に答える