我正在使用 Devise-1.5.4 和 Rails 3.0.20。以下是我所了解的事实:
- 浏览器有一个session_id的Cookie,它可以帮助普通应用程序唯一地跟踪会话。可能有也可能没有用户登录。
- 如果用户已登录(并假设他选择了 Remember_me),则浏览器中还会有另一个用于 Remember_user_token 的 Cookie。
- 在我的应用程序中,我使用(设计提供的)方法,例如
current_user,authenticate_user!来验证用户。
- 上面的方法 call
authenticate!,它本身调用serialize_from_cookie,用于remember_token对用户进行身份验证。
我对session_id的用法有点困惑。
- 什么时候使用,如何使用?
- 如果用户登录,为了让我的 Rails 应用程序(或设备)能够唯一标识该用户,它是否会使用 session_id ?
- 当用户没有选择 Remember_me (并且没有
remember_token)时会发生什么?devise 如何验证 current_user?