ruby-on-rails – 子域会话在Heroku上的Rails 2.3和Rails 3中不
所以我有两个heroku应用程序:
> http://production-app.com(从http://production-app.heroku.com起映射) 在production-app.com上,我有几个子域使用Heroku自定义域插件与Zerigo(不是通配符域插件): > http://blog.production-app.com 在development-app.heroku.com上,我也有这些自定义子域,但由于我没有自定义域,我只使用wildcard addon. 在我的routes.rb中,使用Subdomain-Fu,我在本地和两个Heroku应用程序上都有子域名. 我现在面临的问题是,如何让会话在所有子域之间保持同步? 我试过将它添加到production.rb: ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => '.production-app.com') 甚至组合这个: begin config.action_controller.session[:domain] = '.production-app.com' config.action_controller.session[:session_domain] = '.production-app.com' rescue config.action_controller.session = {:domain => '.production-app.com',:session_domain => ".production-app.com"} end ……对于开发站点,这两个: ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => '.heroku.com') # or ActionController::CgiRequest::DEFAULT_SESSION_OPTIONS.update(:session_domain => '.development-app.heroku.com') 这些都不会保持子域之间的会话.如果我有自定义域名并且刚刚运行Heroku子域名,我该如何使用? 谢谢! 解决方法
在config / initializers / session_store.rb中,告诉rails在所有域中设置cookie:
Rails.application.config.session_store :cookie_store,:key => '_yourapp_session',:domain=>:all 与此SO question相同 如果您希望在“development-app.heroku.com”和“production-app.com”之间保持会话,除非这些代码库是相同的,否则无法完成.如果它们是相同的代码库,则使用应用程序控制器上的before_filter重定向到production-app.com (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- ruby-on-rails – 安装ruby使用apt-get install
- ruby-on-rails – 尝试安装rails-EISDIR错误
- Flex Viewer 开发教程(6)Widget与共享数据
- Flex组件组件添加自定义事件
- AxonFramework,事件序列化器调优
- 几十个 ActionScript 3.0 APIs for Flex, Flash,
- c# – 如何删除dbo.AspNetUserClaims和dbo.AspNe
- ios – 如何在xcode 4中从构建到.ipa文件完全自动
- c预编译器对定义为(void)0的宏做了什么
- 详解vue表单验证组件 v-verify-plugin