我有一个简单的控制器方法,它的唯一任务是设置cookie。
def consume
cookies.signed[:luke_luke] = {:value => 'luke'}
cookies.signed[:remembertoken] = {
:value => "user",
:expires => 1.hour.from_now
}
render :text => "Failure"
end
当我加载IE 9,并键入文档。我只得到luke_luke的值,而没有得到token。当我移除记忆令牌上的过期时,一切都好了。到底发生了什么事?
Using Rails 3.2.13
IE <= 9丢弃显式过期时间小于1天的cookie
一个可能的解决方法是设置一个单独的带时间戳的cookie,例如:remembertoken_expires,在设置:remembertoken的同时,根据时间检查时间戳。现在,并明确地删除cookie,如果时间。现在>:memorbertoken_expires .