我目前正在设计设备的两层身份验证,并且想在临时会话中存储用户ID 2分钟,我是否只能为此会话设置超时时间。
session[:user_id] = "USER_ID_HERE"
我想要这样的东西:-
session[:user_id].timeout = 2.minutes
预先感谢
答案 0 :(得分:1)
对于该会话,您也只能将当前时间存储在会话中:
session[:user_id] = "USER_ID_HERE"
session[:expires_at] = Time.current + 2.minutes
然后,在before_action
中定义一些检查方法:
if session[:expires_at] < Time.current
session.delete(:user_id)
session.delete(:expires_at)
end