[英]Preserving Rails 4 Devise Session Id Before & After Sign In
我正在嘗試實施一個電子商務應用程序。 在其中,我允許用戶瀏覽產品並在登錄前將它們放入購物車。我只提示用戶在結賬時登錄。
但是,我正在失去對用戶的跟蹤,因為用戶的會話ID在登錄時會發生變化。由於這個原因,我無法將用戶放入購物車的項目(存儲在redis中)與放入其中的用戶相關聯。用戶登錄該應用程序。
有誰知道如何規避這個?
謝謝。
干杯!
找到了解決方案。 所有需要完成的工作都是設置session.options [:renew] = false,並且會話ID在登錄前后仍然相同。
請參考下面的實現
class SessionsController < Devise::SessionsController
respond_to :json
def create
super
session.options[:renew] = false
end
def destroy
logger.info "Logging out: #{current_user.email}; Session Id: #{session.id}"
$redis.del "cart_#{session.id}"
super
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.