在 Rails 4 中的不同时间使多个会话过期

Expiring Multiple Sessions at Different Times in Rails 4

我在 Rails 4 中创建了一个应用程序,需要在不同的时间间隔使 3 个不同的会话过期,每隔几分钟一次,每小时一次,每个工作日一次。

但是,目前,我的所有 3 个会话似乎同时过期,它们的过期长度取自这些集合中的最小值,即每 5 分钟一次。知道我做错了什么吗?

目前,我尝试在会话存储中设置这些过期时间,如下所示:

Rails.application.config.session_store :cookie_store, key: 'current_customer', expire_after: 60.minutes 
Rails.application.config.session_store :cookie_store, key: 'staff_id', expire_after: 540.minutes
Rails.application.config.session_store :cookie_store, key: 'barcode_ids', expire_after: 5.minutes 

谢谢

在您的代码示例中,您实际上设置了一个值 3 次,并且每次都被新值覆盖。所以实际上它只使用了最后一行。

Rails 每个用户的每个会话只创建一个 cookie,另外两个您应该手动创建。