Определяне дали текущият потребител е удостоверен

Determining If Current User Is Authenticated



Проблем

Искате да видите дали потребител е влязъл.

Знаете, че Laravel автоматично запазва удостоверения потребител в сесията. Искате да проверите дали текущата заявка има потребител, който е влязъл и удостоверен.







Решение

Използвайте | _+_ |.



| _+_ | метод връща true или false.



ако (Авт::проверка())
{
изхвърлен 'Да! Влезли сте. ';
}

Дискусия

Няколко неща се случват зад кулисите, когато правите това.





Първо Laravel проверява дали текущата сесия има идентификатор на потребител. Ако е така, тогава се прави опит за извличане на потребителя от базата данни.

Ако това не успее, Laravel проверява за бисквитка „запомни ме“. Ако това е налице, отново се прави опит да се извлече потребителят от базата данни.



Само ако валиден потребител е извлечен от базата данни, се връща true.

Филтърът „гост“ използва този метод
Laravel осигурява изпълнение по подразбиране на филтъра за гости в | _+_ |.

Маршрут::филтър('гост', функция()
{
ако (Авт::проверка()) връщанеПренасочване::да се('/');
});

Това изпълнение по подразбиране се използва, когато искате да добавите филтър към маршрут, който е достъпен само за гости (известни още като потребители, които не са влезли). Ако потребител е влязъл, той се пренасочва към началната страница.