Problēma
Jūs vēlaties redzēt, vai lietotājs ir pieteicies.
Jūs zināt, ka Laravel sesijā automātiski saglabā autentificēto lietotāju. Jūs vēlaties pārbaudīt, vai pašreizējā pieprasījumā ir pieteicies un autentificēts lietotājs.
Risinājums
Izmantojiet | _+_ |.
| _+_ | metode atgriež patiesu vai nepatiesu.
ja (Aut::pārbaudiet())
{
izmest ārā 'Jā! Jūs esat pieteicies. ';
}
Diskusija
To darot, aizkulisēs notiek vairākas lietas.
Vispirms Laravel pārbauda, vai pašreizējai sesijai ir lietotāja ID. Ja tā, tad tiek mēģināts izgūt lietotāju no datu bāzes.
Ja tas neizdodas, Laravel pārbauda sīkfailu “atcerēties mani”. Ja tas ir klāt, tad vēlreiz tiek mēģināts izgūt lietotāju no datu bāzes.
Patiess tiek atgriezts tikai tad, ja no datu bāzes tiek izgūts derīgs lietotājs.
Filtrs “viesis” izmanto šo metodi
Laravel nodrošina noklusējuma viesu filtra ieviešanu | _+_ |.
{
ja (Aut::pārbaudiet()) atgrieztiesNovirzīt::uz('/');
});
Šī noklusējuma ieviešana tiek izmantota, ja vēlaties pievienot filtru maršrutam, kuram var piekļūt tikai viesi (aka lietotāji, kuri nav pieteikušies). Ja lietotājs ir pieteicies, viņš tiek novirzīts uz sākumlapu.