【发布时间】:2014-01-24 08:28:35
【问题描述】:
我正在用 Laravel 4.1 做一个应用程序,当用户登录时,我正在注册一些 cookie:
Cookie::queue('adm-chave', $chave, 30);
Cookie::queue('adm-usuario', $usuario->usuario, 30);
Cookie::queue('adm-usuario-id', $usuario->id, 30);
Cookie::queue('adm-usuario-nome', $usuario->nome, 30);
Cookie::queue('adm-usuario-email', $usuario->email, 30);
我做了一个代码来更新每次页面加载的过期时间,如下所示:
Route::filter('logado', function()
{
$chave = Cookie::get('adm-chave');
$usuario = Cookie::get('adm-usuario');
$id_usuario = Cookie::get('adm-usuario-id');
$nome = Cookie::get('adm-usuario-nome');
$email = Cookie::get('adm-usuario-email');
if(empty($chave) || empty($id_usuario)){
$resposta = Redirect::to('/');
$resposta->withCookie(Cookie::forget('adm-chave'));
$resposta->withCookie(Cookie::forget('adm-usuario'));
$resposta->withCookie(Cookie::forget('adm-usuario-id'));
$resposta->withCookie(Cookie::forget('adm-usuario-nome'));
$resposta->withCookie(Cookie::forget('adm-usuario-email'));
return $resposta;
}
Cookie::queue('adm-usuario', $usuario, 30);
Cookie::queue('adm-usuario-id', $id_usuario, 30);
Cookie::queue('adm-usuario-nome', $nome, 30);
Cookie::queue('adm-usuario-email', $email, 30);
});
即使进行了续订,我的 cookie 也会随机过期,并且我的用户会在该 if 块上注销。
我错过了什么?
【问题讨论】: