Ruby on rails 如何将用户登录到子域并使会话在另一子域上可用?

Ruby on rails 如何将用户登录到子域并使会话在另一子域上可用?,ruby-on-rails,ruby,session,cookies,session-cookies,Ruby On Rails,Ruby,Session,Cookies,Session Cookies,是否可以在login.app.com上设置会话cookie,并在foo.app.com上提供会话cookie 我想要一个中心登录位置:login.app.com。一旦用户Cayote登录到login.app.com,我想把他传送到自己子域acme.app.com上的页面。一旦他到达那里,他应该登录 我不知道如何弥合login.app.com和acme.app.com之间的差距 我正在使用Rails 3.2。是的,这是可能的。您只需为所有子域声明cookie: # config/initializ

是否可以在login.app.com上设置会话cookie,并在foo.app.com上提供会话cookie

我想要一个中心登录位置:login.app.com。一旦用户Cayote登录到login.app.com,我想把他传送到自己子域acme.app.com上的页面。一旦他到达那里,他应该登录

我不知道如何弥合login.app.com和acme.app.com之间的差距


我正在使用Rails 3.2。

是的,这是可能的。您只需为所有子域声明cookie:

# config/initializers/session_store.rb
Testapp::Application.config.session_store :cookie_store, key: '_testapp_session', :domain => :all

通过声明domain=>:all,login.app.com和acme.app.com的cookie将与domain.app.com一起设置,因此会话将在子域之间共享。

可以进一步利用这个想法,使您从
login.app.com
登录,并传输到
sailer.app.com
(与我的问题一样),但是当你进入
pilot.app.com
时,你的会话不会继续吗?感谢您的回复。@Mohamad,如果您想在pilot.app.com上为应用程序将会话cookie键的名称设置为其他名称,这当然是可能的。会话是基于cookie的,所以它只需要确保每个域都有cookie。