我對Laravel相當陌生,並對記住我的功能有疑問。Laravel 4記得我過期時間
我已經成功地啓用了「記住我」功能,將第二個參數附加到Auth :: attempt方法中,如下所示。
if (Auth::attempt(array('email' => $email, 'password' => $password), true))
{
// The user is being remembered...
}
正如文檔中所述,這可以記住我無限期地或直到用戶手動註銷。
我基本上想設置「記住我」功能的過期日期。
看着控制檯,我可以看到啓用「記住我」會生成一個remember_ {HASH} cookie。
覆蓋此cookie中指定的過期日期以便讓將來說一週的最佳方式是什麼?該Cookie目前設置了過去的日期,這使得它永遠持續下去。
請記住,我必須在sessions.php中設置'lifetime'=> 0,這樣我才能根據用戶的喜好觸發記住我的功能,所以將其改爲一週不會對我有用。
謝謝!
Laravel將到期時間設置爲** + 5年**。不,除非你改變內核,否則你不能這樣做,因爲'Auth :: attempt()'使用'Cookie :: forever()'方法存儲cookie,並且過期時間是**硬編碼**。因此,要設置到期時間,您必須按照Laravel核心。 –
我相信你可以創建自己的包,並使用它來代替與Laravel捆綁在一起的'Auth'包。但是,如果你是新手,那麼它可能不適合。 – Cristian