如何在laravel 4中设置“记住我”的自定义时间?

时间:2013-11-19 14:12:57

标签: laravel laravel-4

我使用Auth::login($user, true);来记住用户的登录状态。但它记得大约5年。那太久了。如何自定义“记住我”的cookie时间?

1 个答案:

答案 0 :(得分:2)

通过看看Laravel的source code,我认为这不可行。如果您确实需要此行为,则可以尝试登录没有remember标志的用户,并创建自己的Cookie。

这是login函数:

public function login(UserInterface $user, $remember = false)
{
    ...
    if ($remember)
    {
        $this->queuedCookies[] = $this->createRecaller($id); 
    }
    ...
}

这是createRecaller,它正在调用forever方法。

protected function createRecaller($id)
{
    return $this->getCookieJar()->forever($this->getRecallerName(), $id);
}

但是,从用户的角度来看,我认为在登录表单中检查remember me复选框并且必须在X段时间后再次登录,这很烦人。如果这是强制性要求(例如,法律原因),我只会这样做。