1

我有不止一个应用程序。我希望能够使用 cookie_store 在他们之间共享会话。

应用一:

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您的配置中的值必须相同。

例如,app1.example.com只要app2.example.com将 cookie 分配给.example.com.

用于此的选项存储在config/initializers/session_store.rb和中config/initializers/secret_token.rb

请注意,请确保您的秘密令牌值与默认安装一样长且随机。不要只是切换到简短而方便的东西。

于 2013-02-28T22:32:29.700 回答