Rails 4將包含基於加密cookie的會話。我們希望從活動記錄Cookie存儲中更改。有沒有辦法做到這一點,而不會中斷我的應用程序的客戶?我不想刪除所有當前會話。將活動記錄存儲區中的會話遷移到Cookie存儲區
4
A
回答
2
同意Nathan不要倒退,除非您因爲會話存儲而擔心DB性能。在這種情況下,我建議您的會話使用Redis或Memcached存儲,而不是基於cookie。
0
還有一個問題。我試圖從活動記錄遷移到cookie存儲,現在每個用戶都會收到「我們很抱歉,但出錯了」錯誤。解決辦法是清除cookie,但我必須告訴每個用戶。他們中的許多人會認爲該網站已經壞了。所以這是不好的。如果你不能聯繫每個用戶,這是非常糟糕的。
0
這是可行的,我只是做了另一種方式(由於我不會進入的原因,我們需要讓他們在數據庫中)。在應用控制器,把之前過濾這樣的:
prepend_before_filter :migrate_session
def migrate_session
# migrating over old sessions
session_model = YourSessionModel.find_by_session_id(session.id)
if session_model
data = session_model.data
data.each do |key,value|
session[key] = value
end
session_model.destroy
end
end
一切,進入會議散列將在瀏覽器來保留。在您不再有任何活動記錄會話後,您可以擺脫此代碼。
相關問題
- 1. Rails:從活動記錄會話存儲轉移到Redis存儲
- 2. 將Cookie存儲到Cookie或會話中?
- 3. AngularJS中會話存儲,本地存儲和Cookie之間的區別
- 4. 登錄會話cookie存儲在Symfony中?
- 5. 將OpenAM會話屬性存儲到cookie
- 6. 在會員區使用存儲會話
- 7. 會話存儲,活動記錄存儲將太多行保存到heroku數據庫
- 8. PHP - 使用cURL將cookie會話存儲到變量/內存中
- 9. Nexus3:將特定的Maven存儲庫移動到另一個blob存儲區
- 10. 一個記錄不會存儲到MySQL分區
- 11. 使用Java API將雲存儲文件移動到不同存儲區
- 12. 將Azure存儲遷移到本地開發存儲的工具
- 13. 會話ID未被存儲在cookie中
- 14. 在mysql中存儲curl會話cookie
- 15. 在會話cookie中存儲數據
- 16. 在android.webkit.CookieManager中存儲會話cookie
- 17. 將svn本地存儲庫遷移到git存儲庫
- 18. 將Kettle文件遷移到存儲庫
- 19. 將PostgreSQL存儲過程遷移到MYSQL
- 20. Emberjs無法找到數據存儲區中的記錄(mongodb)
- 21. 活動記錄存儲刪除
- 22. 如何存儲用戶活動記錄
- 23. PHP保持SSH會話存活/存儲
- 24. 將AWS s3存儲區移動到另一個aws帳戶
- 25. 將字典存儲到會話中
- 26. 將會話數據存儲到表中
- 27. 在獨立應用程序中記錄到azure blob存儲區
- 28. AWS存儲區和區域
- 29. 存儲會話
- 30. 存儲會話
請問爲什麼要這樣做?從rails安全指南http://guides.rubyonrails.org/security.html中,您應該避免將大對象存儲在cookie中。 =>確定,現在安全,但您應該避免製作大型Cookie。所以,對我來說,即使使用加密的cookies,也要繼續使用活動記錄會話。 – joel1di1 2013-09-24 08:28:37