我目前有基于cookie的会话。我试图允许使用相同的会话访问我系统上的所有子域,因此用户只需登录一次并通过我的站点(section1.mysite.com,section2.mysite.com等)授予访问权限。
我更新了我的config / initializers / session_store.rb,如下所示:
Mysite::Application.config.session_store :cookie_store, :key => '_mysite_session', :domain => :all
#Mysite::Application.config.session_store :cookie_store, :key => '_mysite_session'
注释掉的线显示了我以前的所作所为。现在,如果我在重新启动服务器时注销(没有保存cookie会话),这种方法很有效。但是,如果我有第一次配置的cookie会话,当我切换到:domain =>所有,我不能破坏那个会话。用户无限期登录,因为会话不会被破坏。用户无法从注册会话配置中登录的会话中注销,并且一旦新配置到位,他们就会尝试注销。
我尝试过的事情: *更改security_token似乎没有帮助 *更改session_store键似乎没有帮助(我对此感到困惑......我认为它应该工作) *对于我的生活,我无法找到如何手动删除会话
无论我做什么,在我做出此更改之前登录的任何人都无法注销。
提前感谢您的帮助! 本
答案 0 :(得分:1)
:domain
选项不应该是复数,如:domains
?
在你的情况下,那样做:
Mysite::Application.config.session_store :cookie_store,
:key => '_mysite_session', :domains => :all
为了摆脱持久性会话,您可能希望清除浏览器cookie。
<强>更新强>
要删除用户cookie,请编辑以下Rails文件:
应用/配置/初始化/ secret_token.rb:强>
Mysite::Application.config.secret_token= 'XXXXXXXXX...XXXXXXXXX'