我正在使用Devise-1.5.4和Rails 3.0.20。这里是我知道的事实:Rails应用程序使用session_id和remember_user_token与Devise的区别
- 有一个session_id的cookie与浏览器,这有助于一个正常的应用程序唯一跟踪会话。可能有也可能没有用户登录。
- 如果用户已登录(并且假设他选择了remember_me),那么在浏览器中还有另一个用于remember_user_token的Cookie。
- 在我的应用程序中,我使用(设计提供的)方法,如
current_user
,authenticate_user!
来验证用户。 - 上述方法调用
authenticate!
,它自己调用serialize_from_cookie
,它使用remember_token
来验证用户。
我对使用session_id有点困惑。
- 什么时候用过,怎么用?
- 如果用户登录,我的Rails应用程序(或设计)来唯一标识用户,它会使用session_id吗?
- 当用户不选择remember_me(并且没有
remember_token
)时会发生什么?设计如何验证current_user?
感谢您的精心解答。很有帮助。肯定会通过'warden'的代码来探索。 – 2014-09-05 14:17:49