我刚刚从php背景启动了Rails,我正在学习本教程:http://ruby.railstutorial.org/chapters/sign-in-sign-out#top
在8.2.1部分 - 您必须将remember_token
添加到表用户,并将令牌的值放在此字段中。
我的问题是,如果用户在不同的计算机上登录该怎么办?由于它更新了remember_token
字段,因此cookie登录对于用户登录的先前计算机无效。使用以下内容创建Cookie的新表是否有意义:
id
,remember_token
,created
,user_agent_ip_address
还是过于复杂化了?
答案 0 :(得分:2)
假设存储在users表中的remember_token是主密钥 浏览器就像门一样 使用万能钥匙,您可以根据需要打开和关闭门。假设您打开A,B和C门。您可以选择关闭A门,而B和C门保持打开状态。这就是remember_token在那里工作的方式 您在不同的浏览器上签名,然后选择从某些浏览器退出并保持登录其他浏览器。这并不意味着当您在浏览器上注销时,它会自动签出其余部分 如果您希望为用户提供访问权限,以查看其会话当前处于活动状态(登录)的位置(也包括哪些计算机),并允许他们退出这些计算机,则可能需要单独的Cookie表。 / p>
答案 1 :(得分:0)
Rails非常好地处理数据库会话,阅读本指南的这一章,非常清楚:)
http://guides.rubyonrails.org/action_controller_overview.html#session