Ric*_*ras 5 session ruby-on-rails cross-server
我想让不同服务器上的一些rails应用程序共享同一个会话.我可以在同一台服务器上完成,但不知道是否可以通过不同的服务器共享.任何人已经或知道如何做到这一点?
谢谢
使用数据库会话存储.缺点是:
要生成表,请在控制台上运行
Run Code Online (Sandbox Code Playgroud)rake db:sessions:create在您的environment.rb中,包含此行
Run Code Online (Sandbox Code Playgroud)config.action_controller.session_store = :active_record_store
根据应用程序的设置方式,您可以通过将应用程序设置为使用相同的密钥来轻松共享来自同一域(foo.domain、bar.domain、domain)中的站点的 cookie: http://www.russellquinn。 com/2008/01/30/multiple-rails-applications/
现在,如果您有不同的站点,例如 sdfsf.com、dsfsadfsdafdsaf.com 等,您将不得不采取更多技巧,因为 cookie 的本质将它们限制在特定域中。本质上,您想要做的是使用跨站点脚本,而不是劫持您的会话,而是从其他会话中读取它。
在这种情况下,结合使用相同的 cookie 秘密等,然后使用一些跨站点脚本,您可以手动提取会话信息并在每个站点上重新创建它(或者如果您使用 ActiveRecord 会话{或 NFS 会话目录},链接与现有的一致)。这并不容易,但可以做到。
或者,技术含量较低的方法(我以前做过)只是让登录页面访问每个站点上特制的登录页面,该页面上设置了应用程序 cookie 并将您跳转到下一个站点。这并不漂亮。
| 归档时间: |
|
| 查看次数: |
2424 次 |
| 最近记录: |