我正在使用Devise来管理Rails 3.1应用程序中的身份验证。它在我的生产服务器中工作得很好。但我只是设置了一个新的测试服务器,如果我登录到主站点,则访问子域不会识别会话。它要我再次登录。
我不记得我会在哪里解决这些信息。好像它是一些cookie设置。
我有域指向每个站点,生产和测试。制作以.net结尾,测试版本以.co。结尾。
有人能指出我正确的方向吗?
答案 0 :(得分:4)
我认为这不是设计设置,而是会话和cookie设置。
您可以通过设置变量YourApp::Application.config.session
您可以在environment.rb
文件或config/initializers/session_store.rb
中执行此操作。 session_store.rb的示例是
YourApp::Application.config.session = {
:session_domain => '.yourdomain.com',
:session_key => '_yourapp',
:expire_after => 14*24*3600,
#:secure => true, #for secure/ssl sessions and such
:secret => 'somesecretgobledygook'
}
请注意,将session_domain
设置为.yourdomain.com
会使您的Cookie跨子域工作。
这适用于会话。 Cookie有类似的设置。