Bay*_*ae' 7 subdomain ruby-on-rails session-cookies ruby-on-rails-3
我正在构建一个类似于Wufoo的rails应用程序.注册后,您将获得一个子域名,您可以登录主页.该应用程序正在运行,因此当您登录时,您将被重定向到您的子域.问题是我无法删除两个域上的会话.如果您注销(username.myapp.com),它将保持登录状态(myapp.com),反之亦然.
现在我正在使用session[:user_id] = nil删除会话.有没有办法删除所有域中的所有会话.
另外,我附加:domain => :all到我的session_store.rb文件,所以我可以保持登录多个子域.
关键是您如何设置会话cookie,因为您无法从顶级域(myapp.com)删除子域cookie(username.myapp.com).要解决此问题,您需要在myapp.com域下设置所有共享会话cookie.为此,请按以下方式设置会话:
Rails.application.config.session_store :cookie_store, :domain => 'myapp.com'
Run Code Online (Sandbox Code Playgroud)
这样,当您销毁会话(session[:id] = nil)时,您将删除共享cookie.我相信你还必须使用session [:id]而不是session [:user_id]来删除会话.
| 归档时间: |
|
| 查看次数: |
2833 次 |
| 最近记录: |