2009-10-19 176 views
1

我在閱讀「使用Rails進行敏捷Web開發,第3版」,並對會話cookie感到困惑。在軌道Cookie會話是一樣的cookie或會話?

在頁474上它有一個關於cookie檢測的主題,他們討論如何處理cookie禁用的用戶。他們提出了cookie會話的想法,從我的理解是一個假的會話,充當cookie的權利?

我不明白的是他們使用的示例代碼before_filter:cookies_required並要求request.cookies [session_key]與cookie變量相同,或者這是他們談論的「假cookie會話」?

如果是「假cookie會話」,那麼使用誰啓用cookie的情況如何?我沒有看到任何代碼確定哪個用戶有和沒有Cookie?

p.s.不知道你是否可以理解我的問題,我現在很困惑。

謝謝,

回答

0

Page 474是有點混淆。基於cookie的會話(默認的rails會話存儲)將session_id存儲爲cookie。您也可以重置會話存儲 - 請參閱p477-479的底部。

您正在詢問的代碼示例在會話主題前的書中列出。這些都是真正的cookie,就像在javascript中設置的會話一樣,Cookie會被設置爲:cookie_store。他們恰好將session_key保存到cookie中。

方法cookies_test檢查用戶是否具有Cookie訪問權限。