在 sign_in 之后访问设计中的新 session_id
Accessing the new session_id in devise after sign_in
我正在使用设计和覆盖 SessionsController#create 来根据特定条件跟踪登录。
即使在 sign_in(user) 执行后,sign_in(user) 之前的会话[:session_id] 的值也是相同的。
我想将新的 session_id 存储在数据库中以便跟踪用户。但是无法访问它。如何获得?
在寻找的过程中,发现Devise使用了Warden的set_user方法。但即使那样,我也无法弄清楚在 Warden 中设置会话的位置。
在以下问题中找到答案:
Rails ActiveRecord store and new session
Benjamin Sinclaire 的回答对我有用(虽然它没有被标记为回答)。刚刚将 session.options 替换为 request.session_options
我正在使用设计和覆盖 SessionsController#create 来根据特定条件跟踪登录。
即使在 sign_in(user) 执行后,sign_in(user) 之前的会话[:session_id] 的值也是相同的。
我想将新的 session_id 存储在数据库中以便跟踪用户。但是无法访问它。如何获得?
在寻找的过程中,发现Devise使用了Warden的set_user方法。但即使那样,我也无法弄清楚在 Warden 中设置会话的位置。
在以下问题中找到答案:
Rails ActiveRecord store and new session
Benjamin Sinclaire 的回答对我有用(虽然它没有被标记为回答)。刚刚将 session.options 替换为 request.session_options