1

我刚刚从 php 背景开始 Rails,我正在学习本教程:http ://ruby.railstutorial.org/chapters/sign-in-sign-out#top

在第8.2.1节- 您必须将remember_token用户添加到表中,并且令牌的值放置在此字段中。

我的问题是,如果用户在不同的计算机上登录怎么办。由于它更新了该remember_token字段,因此 cookie 登录对于用户登录的先前计算机将无效。id用: , remember_token,为 cookie 创建一个新表是否有意义 createduser_agent_ip_address或者这是否过于复杂?

4

2 回答 2

2

假设存储在 users 表中的 remember_token 是主密钥。
浏览器就像门。
使用万能钥匙,您可以随心所欲地打开和关闭门。假设您打开门 A、B 和 C。您可以选择关闭门 A,而门 B 和 C 保持打开状态。这就是 remember_token 在那里的工作方式。
您在不同的浏览器上登录,然后选择从一些浏览器中退出并在其他浏览器上保持登录状态。这并不意味着当您在浏览器上退出时,它会自动退出其余部分。
如果您想让用户访问查看他们的会话当前在哪里(哪些计算机)处于活动状态(登录)并允许他们退出这些计算机,那么您可能需要一个单独的 cookie 表。

于 2013-03-08T17:49:10.860 回答
0

Rails 很好地处理数据库会话,阅读指南的这一章,很清楚:)

http://guides.rubyonrails.org/action_controller_overview.html#session

于 2013-03-06T13:16:21.177 回答