Problem
Chcesz sprawdzić, czy użytkownik jest zalogowany.
Wiesz, że Laravel automatycznie utrzymuje uwierzytelnionego użytkownika w sesji. Chcesz sprawdzić, czy bieżące żądanie ma zalogowane i uwierzytelnione użytkownika.
Rozwiązanie
Używać AUTH :: Check ()
.
AUTH :: Check ()
Metoda zwraca prawda lub fałsz.
Dyskusja
Kilka rzeczy dzieje się za kulisami, kiedy to robisz.
Pierwszy laravel sprawdza, czy bieżąca sesja ma identyfikator użytkownika. Jeśli tak, podejmowana jest próba odzyskania użytkownika z bazy danych.
Jeśli to się nie powiedzie, Laravel sprawdza plik cookie „Remember Me”. Jeśli jest to obecne, po raz kolejny podjęto próbę odzyskania użytkownika z bazy danych.
Tylko wtedy, gdy prawidłowy użytkownik zostanie pobrany z bazy danych, jest prawdziwe, zwrócone.
Filtr „gościa” używa tej metody
Laravel zapewnia domyślną implementację filtra gości App/Filtry.php
.
Ta domyślna implementacja jest używana, gdy chcesz dodać filtr do trasy, która jest dostępna tylko dla gości (aka użytkowników, którzy nie są zalogowani). Jeśli użytkownik jest zalogowany, zostanie przekierowany na stronę główną.