[英]Rails 4.2 : How disable encryption for cookies
我最近將Rails 3.2應用程序升級到Rails 4.2。 我面臨新的Rails 4.2設置的cookie簽名和加密的問題,我不會這么做,因為我的應用程序與其他Rails 3應用程序交互。 我想重新介紹在4.2中創建cookie的舊方法。
的確,Rails 4 CookieStore默認情況下會加密Cookie:
如果設置了secret_key_base,則將對cookie進行加密。 這與簽名的cookie相比更進一步,因為加密的cookie無法由用戶更改或讀取。 這是從Rails 4開始的默認設置。
似乎沒有辦法通過config選項關閉此功能,因此一種方法是不設置secret_key_base
。
另一種方法是使用重新定義的CookieStore#cookie_jar方法定義自定義會話存儲:
class ActionDispatch::Session::MyCustomStore < ActionDispatch::Session::CookieStore
private
def cookie_jar(request)
request.cookie_jar.signed
end
end
並在config.rb
:
config.session_store :my_custom_store
這樣,您的cookie將像在Rails 3中一樣被保存在簽名的 jar中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.