Rails,基于子域的cookie

时间:2011-05-25 06:13:32

标签: ruby-on-rails cookies subdomain session-cookies

我有一个基于子域的rails应用程序。它还包含REST API,可以公开访问我们的客户。我有另一个客户端应用程序,通过它我可以访问主应用程序的REST API。

当我在同一浏览器上访问这两个应用程序并登录主应用程序时,我无法访问客户端应用程序中不同子域的REST API,因为cookie会根据访问的域进行存储。

有没有办法根据子域区分cookie。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您应将Cookie的域设置为 .yourdomain.com ,以便为主域和所有子域设置Cookie。

config / initializers / session_store.rb上的Rails 3:

Rails.application.config.session_store :cookie_store, :key => '_my_key', :domain => ".yourdomain.com"

config / environment.rb上的Rails 2.3+:

config.action_controller.session = { :key => '_my_key', :domain => '.yourdomain.com' }