MLZ*_*MLZ 5 ruby cookies session ruby-on-rails
我正在 Rails 中创建一个问答游戏,并希望创建一个会话来存储当前用户的数据,以跟踪他们正确回答的问题数量。我搜索过的所有教程都先登录一次,然后生成会话,没有它我可以这样做吗?
编辑:实际上我想知道这是否可能根本没有用户模型?
是的。Rails 会话存储机制只是将会话 ID 与会话存储(默认为 cookie)链接起来。
它基本上是这样工作的——当用户第一次访问你的应用程序时,rails 会生成一个长哈希的会话标识符——该标识符由 Rails 存储在服务器上,并以 cookie 的形式发送给用户。
在对应用程序的后续请求中,rails 会话中间件将查看用户 cookie 中的标识符,如果其有效,它将解密会话存储 cookie 并将其添加到 Rails 会话中。Rails 默认情况下会完成所有这些工作,而无需您费力。
您可以将此会话存储用于任何任意数据,只要其不超过浏览器对 cookie 施加的 4k 限制。使用 Redis/Memcached 或数据库存储等其他存储可以让您存储更多数据,但性能会有所下降。
您通常看到它与授权相关的原因是,cookie 是一种将服务器上的用户 ID 与浏览器后面的当前用户链接起来的事实上的方式。
| 归档时间: |
|
| 查看次数: |
2238 次 |
| 最近记录: |