Я довольно новичок в Laravel и задал вопрос о функции помнить меня.Laravel 4 Запомнить меня истекает время
Я успешно включил функцию «запомнить меня», добавив второй аргумент в метод Auth :: try.
if (Auth::attempt(array('email' => $email, 'password' => $password), true))
{
// The user is being remembered...
}
Как указано в документации, это позволяет запомнить меня на неопределенный срок или пока пользователь не выйдет вручную.
Я действительно хочу установить дату истечения срока действия функции «запомнить меня».
Глядя на консоль, я вижу, что включение «запомнить меня» генерирует cookie remember_ {HASH}.
Что было бы лучшим способом переписать дату истечения срока действия, указанную в этом файле cookie, чтобы сказать неделю в будущем? В настоящее время cookie устанавливает дату в прошлом, что делает ее последней навсегда.
Имейте в виду, что мне пришлось установить «lifetime» => 0 в session.php, чтобы я мог вызвать функцию «запомнить меня», основанную на предпочтениях пользователя, поэтому изменение этого на неделю не помогло бы в моем случае.
Спасибо!
Laravel устанавливает срок годности ** + 5 лет **. Нет, вы не можете, если вы не измените ядро, потому что 'Auth :: попытка()' использует 'Cookie :: forever()' метод для хранения файла cookie, и время истечения ** жестко закодировано ** в него. Таким образом, чтобы установить время истечения срока, вы должны наложить руки на ядро Laravel. –
Я считаю, что вы можете создать свой собственный пакет и использовать это вместо пакета Auth, поставляемого вместе с Laravel. Однако, если вы новичок в laravel, тогда это может оказаться неприемлемым. – Cristian