小编Uts*_*ani的帖子

Rails 应用程序使用 Devise 时使用 session_id 和 Remember_user_token 的区别

我正在使用 Devise-1.5.4 和 Rails 3.0.20。以下是我所了解的事实:

  1. 浏览器有一个session_id的Cookie,它可以帮助普通应用程序唯一地跟踪会话。可能有也可能没有用户登录。
  2. 如果用户已登录(并假设他选择了 Remember_me),则浏览器中还会有另一个用于 Remember_user_token 的 Cookie。
  3. 在我的应用程序中,我使用(设计提供的)方法,例如current_user,authenticate_user!来验证用户。
  4. 上面的方法 call authenticate!,它本身调用serialize_from_cookie,用于remember_token对用户进行身份验证。

我对session_id的用法有点困惑。

  1. 什么时候使用,如何使用?
  2. 如果用户登录,为了让我的 Rails 应用程序(或设备)能够唯一标识该用户,它是否会使用 session_id ?
  3. 当用户没有选择 Remember_me (并且没有remember_token)时会发生什么?devise 如何验证 current_user?

ruby cookies ruby-on-rails devise ruby-on-rails-3

4
推荐指数
1
解决办法
2284
查看次数

标签 统计

cookies ×1

devise ×1

ruby ×1

ruby-on-rails ×1

ruby-on-rails-3 ×1