【发布时间】:2015-08-08 22:27:11
【问题描述】:
在我的控制器中,我可以使用session.id 来获取当前访问者的会话 ID,但如果是新访问者(或清除了 cookie),则没有会话 rails 将为他生成一个新会话并发送响应。但session.id 在这种情况下返回nil,因此您只能在下一个请求中获取该 ID。当生成新会话时,是否有可能在同一个请求中获取它?
【问题讨论】:
标签: ruby-on-rails session ruby-on-rails-4
在我的控制器中,我可以使用session.id 来获取当前访问者的会话 ID,但如果是新访问者(或清除了 cookie),则没有会话 rails 将为他生成一个新会话并发送响应。但session.id 在这种情况下返回nil,因此您只能在下一个请求中获取该 ID。当生成新会话时,是否有可能在同一个请求中获取它?
【问题讨论】:
标签: ruby-on-rails session ruby-on-rails-4
看起来 id 是在 Rails 请求响应周期的后期生成的。据我了解是generated (randomly) in rack,是从here调用的。
您可以覆盖此方法并让它在请求响应周期的早期返回您生成的内容(确保您的加密正确)。
【讨论】: