我正在使用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