在rails 3.2.13项目中,我使用devise(1.4.2)插件进行身份验证系统。在这里,我需要在会话超时后将current_user的session_id更新为nil值。如何覆盖超时功能?
登录后,session_id字段将更新为“A9nEDMZFl7D4ytSfWxrY”。注销后,session_id字段将以nil值更新。现在我需要为会话到期更新相同的nil值。如何修改会话到期功能?
在会话的创建操作中,我使用Devise.friendly_token
更新session_id答案 0 :(得分:0)
您无需将会话设置为nil。您应该reset_session
来重置会话ID。
现在,您提到的这两个案例已经由设计处理:
reset_session
阻止会话固定如果您将会话存储在表中,那么您可以做得更好,只需从数据库中删除过期的会话。如果您使用redis作为会话存储,您可以自动使会话过期,它将为您处理。
请注意:这样做很高兴,因为无论如何都不会允许过期会话。
最后一句话:你为什么还在使用1.4.2版?