Pagtukoy kung ang Kasalukuyang Gumagamit ay Pinatotohanan

Determining If Current User Is Authenticated



Problema

Nais mong makita kung ang isang gumagamit ay naka-log in.

Alam mong awtomatikong pinapanatili ni Laravel ang napatunayan na gumagamit sa session. Nais mong suriin kung ang kasalukuyang kahilingan ay may isang gumagamit na naka-log in at napatunayan.







Solusyon

Gumamit ng Auth::check() .



Ang Auth::check() ang pamamaraan ay nagbabalik totoo o mali.



kung (Auth::suriin())
{
itinapon 'Yay! Naka-log in ka na. ';
}

Pagtalakay

Maraming mga bagay ang nangyayari sa likod ng mga eksena kapag ginawa mo ito.





Sinusuri muna ng Laravel kung ang kasalukuyang sesyon ay mayroong id ng isang gumagamit. Kung gayon, isang pagtatangka ay gagawin upang makuha ang gumagamit mula sa database.

Kung nabigo iyon, suriin ni Laravel kung alalahanin ako ng cookie. Kung naroroon iyon pagkatapos ay muli isang pagtatangka upang kunin ang gumagamit mula sa database.



Kung ang isang wastong gumagamit ay nakuha mula sa database ay tunay na naibalik.

Ginagamit ng filter na 'panauhin' ang pamamaraang ito
Nagbibigay ang Laravel ng isang default na pagpapatupad ng filter ng bisita sa app/filters.php .

Ruta::salain('bisita', pagpapaandar()
{
kung (Auth::suriin()) bumalik kaPag-redirect::sa('/');
});

Ginagamit ang default na pagpapatupad na ito kapag nais mong magdagdag ng isang filter sa isang ruta na maa-access lamang ng mga bisita (aka mga gumagamit na hindi naka-log in). Kung ang isang gumagamit ay naka-log in sa gayon ang mga ito ay nai-redirect sa home page.