【问题标题】:Rails 3.2.8 - Share Devise Sessions Across Subdomains with POWRails 3.2.8 - 使用 POW 跨子域共享设计会话
【发布时间】:2013-08-13 00:28:01
【问题描述】:

我正在尝试在 rails 3.2.8 中建立一个简单的基于子域的博客。基本上,它将具有站点、用户(通过 Devise 验证)和将用户连接到站点的成员资格。我设置了 POW,以便 myapp.dev 正常工作。每个站点都有一个子域,我可以毫无问题地使用子域导航到 site#show 操作。我的问题是我无法让设计会话在子域之间共享。我的 heroku 应用程序一切正常,但我希望能够在本地进行测试。

当我将以下内容添加到 session_store.rb 时,会话似乎可以跨子域工作,但是我无法注销。

Appname::Application.config.session_store :cookie_store, :key => '_appname_session', domain: :all

当我将结尾更改为域:“.appname.dev”时,它不起作用。

任何帮助将不胜感激!

【问题讨论】:

  • 我不确定这会有什么帮助。 Devise不是基于Warden吗?您能否详细说明它目前无法正常工作的原因以及直接使用 Warden 将如何帮助解决问题?
  • 它现在似乎可以工作了。我相信我必须重新启动服务器或清除我的 cookie,尽管我认为我已经这样做了。我将不得不仔细检查,但我认为 domain 选项设置为 domain: :all 在会话存储文件中。

标签: session devise ruby-on-rails-3.2 subdomain rack-pow


【解决方案1】:

确保清除 cookie 并重新启动应用。

Appname::Application.config.session_store :cookie_store, :key => '_appname_session', domain: ".appname.dev"

domain: ".appname.dev" 是域选项的正确格式。开始阶段很重要。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-03
    • 2012-10-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多