我有多个应用程序。我希望能够使用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会话。 我该怎么办?
答案 0 :(得分:3)
这可以完成,但这两个应用程序都需要有一个公共子域,并且配置中的secret_token
值必须相同。
例如,只要将Cookie分配给app1.example.com
,您就可以app2.example.com
和.example.com
。
此选项存储在config/initializers/session_store.rb
和config/initializers/secret_token.rb
。
注意,请确保您的秘密令牌值与默认安装中的一样长且随机。不要只是简单方便。