Ruby on rails 保存Rails 4在&;之前设计会话Id;登录后
我正在尝试实现一个电子商务应用程序。在其中,我允许用户在登录之前浏览产品并将其放入购物车。我只在结账时提示用户登录 但是,由于用户的会话id在登录时发生更改,我无法跟踪该用户。因此,我无法将用户放入购物车(存储在redis中)的项目与用户登录应用程序后放入的项目相关联 有人知道怎么才能避免这种情况吗 谢谢Ruby on rails 保存Rails 4在&;之前设计会话Id;登录后,ruby-on-rails,devise,Ruby On Rails,Devise,我正在尝试实现一个电子商务应用程序。在其中,我允许用户在登录之前浏览产品并将其放入购物车。我只在结账时提示用户登录 但是,由于用户的会话id在登录时发生更改,我无法跟踪该用户。因此,我无法将用户放入购物车(存储在redis中)的项目与用户登录应用程序后放入的项目相关联 有人知道怎么才能避免这种情况吗 谢谢 干杯 找到了解决办法。所有需要做的就是设置会话。选项[:续订]=false,并且会话id在登录前后仍然相同 请参阅下面的实施 class SessionsController < Dev
干杯 找到了解决办法。所有需要做的就是设置会话。选项[:续订]=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
class sessioncontroller
请参阅,我只想指出,这也规避了此功能提供的会话固定安全性。