我有一个运行良好的博客子域,但是,登录与所有子域分离,因此,如果用户登录他的 cookie 仅在非子域页面上有效。如何设置我的应用程序以使 cookie 在所有子域和普通页面中都有效?
我完成了这个主题:在 Rails 中的子域之间共享会话(cookies)?但不幸的是没有成功。我什至尝试了这种漫长的逐步机架中间件方法,但没有成功。
我正在使用 Rails 3.2.13。
任何帮助表示赞赏!:)
我有一个运行良好的博客子域,但是,登录与所有子域分离,因此,如果用户登录他的 cookie 仅在非子域页面上有效。如何设置我的应用程序以使 cookie 在所有子域和普通页面中都有效?
我完成了这个主题:在 Rails 中的子域之间共享会话(cookies)?但不幸的是没有成功。我什至尝试了这种漫长的逐步机架中间件方法,但没有成功。
我正在使用 Rails 3.2.13。
任何帮助表示赞赏!:)
我需要做的就是在创建 cookie 时指定域,如上文所述。
cookies[:remember_token] = { value: user.remember_token, domain: ".lvh.me" }
放在domain: all
config/session_store.rb 的行尾
例如。
YourApp::Application.config.session_store :encrypted_cookie_store, key: '_yourapp_session', domain: :all
您可能还需要在 config/environments/production.rb 中更改此参数
config.action_dispatch.tld_length = 2
如果您的域是,example.com
那么您的 tld_length(顶级域长度)为 1(这是默认值)。 example.com.au
是 2,127.0.0.1.xip.io
是 5,依此类推。