Jestem całkiem nowy dla Laravel i miałem pytanie dotyczące pamiętania funkcji.Laravel 4 Pamiętaj, że upłynął czas
Udało mi się włączyć funkcję "zapamiętaj mnie", dołączając drugi argument do metody próbnej Auth :: like.
if (Auth::attempt(array('email' => $email, 'password' => $password), true))
{
// The user is being remembered...
}
Jak wspomniano w dokumentacji, umożliwia to zapamiętywanie mnie w nieskończoność lub do momentu ręcznego wylogowania użytkownika.
Zasadniczo chcę ustawić datę wygaśnięcia w funkcji "zapamiętaj mnie".
Patrząc na konsolę, widzę, że włączenie opcji "zapamiętaj mnie" generuje plik cookie remember_ {HASH}.
Jaki byłby najlepszy sposób nadpisania daty wygaśnięcia określonej w tym pliku cookie, aby można było powiedzieć, że będzie to tydzień w przyszłości? Ciasteczko obecnie ustawia datę w przeszłości, co sprawia, że jest trwała wiecznie.
Należy pamiętać, że musiałem ustawić "lifetime" => 0 w session.php, aby móc wywołać funkcję remember me w oparciu o preferencje użytkownika, więc zmiana tego na tydzień nie zadziałałaby w moim przypadku.
Dzięki!
Laravel ustawia czas wygaśnięcia na ** + 5 lat **. Nie, nie możesz, chyba że zmienisz rdzeń, ponieważ 'Auth :: attempt()' używa metody 'Cookie :: forever()' do przechowywania ciasteczka, a czas wygaśnięcia ** jest ** zakodowany **. Aby ustawić czas wygaśnięcia, musisz położyć ręce na rdzeniu Laravela. –
Sądzę, że można stworzyć własny pakiet i użyć go zamiast pakietu "Auth" dołączonego do Laravel. Jednak jeśli jesteś nowicjuszem w laravel, może to nie być odpowiednie. – Cristian