RailsTutorial:为什么总会有一些会话?

时间:2016-09-23 09:13:53

标签: ruby-on-rails session cookies railstutorial.org

我关注Railstutorial。现在在第8章讨论会话。 我试图验证每次用户注销时会破坏会话cookie

我正在使用Firebug-> Cookie标签来验证。 但是我注意到无论我是否登录都会有一些会话。

我注意到的唯一区别是在登录前,有效登录后和退出后都有新的会话ID。

所以我的问题是为什么每次都有一些会话

2 个答案:

答案 0 :(得分:2)

我目前正在关注Railstutorial,并且自己一直在想这个。我假设你在教程中引用了这个练习(第8.3节):

  
      
  1. 通过检查站点cookie,确认会话正确   退出后删除。
  2.   

我读它的方式,这意味着在注销后应删除会话cookie,但似乎并非如此。我无法在网上找到这方面的具体信息,所以我很快就设置了一个空的Rails应用程序,看它是否也会设置cookie。瞧,显然每个Rails应用程序都会自动创建一个会话cookie,即使你没有在你的应用专用代码中做任何与会话相关的事情。

这并没有回答Rails在那个cookie中存储的确切内容,但至少我不会发疯。我认为应该删除或至少改变练习。

答案 1 :(得分:1)

会话用于为应用程序的用户保留杂项数据。

它们的存在不应取决于您的用户是否已登录。

例如,要求用户选择其度量标准系统的天气网站应该能够记住他们的选择而无需先登录。

当然还有其他原因要始终为您的用户分配会话(例如记录等)。