ప్రస్తుత వినియోగదారు ప్రామాణీకరించబడ్డారో లేదో నిర్ణయించడం

Determining If Current User Is Authenticated



సమస్య

వినియోగదారు లాగిన్ అయ్యారో లేదో మీరు చూడాలనుకుంటున్నారు.

లారావెల్ స్వయంచాలకంగా సెషన్‌లో ప్రామాణీకరించిన వినియోగదారుని ఉంచుతుందని మీకు తెలుసు. ప్రస్తుత అభ్యర్ధనలో వినియోగదారు లాగిన్ అయ్యి ధృవీకరించబడ్డారా అని మీరు తనిఖీ చేయాలనుకుంటున్నారు.







పరిష్కారం

ఉపయోగించండి | _+_ |.



ది | _+_ | పద్ధతి నిజం లేదా అబద్ధాన్ని అందిస్తుంది.



ఉంటే (Auth::తనిఖీ())
{
బయటకు విసిరారు 'అయ్యో! మీరు లాగిన్ అయ్యారు. ';
}

చర్చ

మీరు ఇలా చేసినప్పుడు తెరవెనుక అనేక విషయాలు జరుగుతాయి.





ప్రస్తుత సెషన్‌లో యూజర్ ఐడి ఉందో లేదో మొదట లారావెల్ చెక్ చేస్తుంది. అలా అయితే, డేటాబేస్ నుండి వినియోగదారుని తిరిగి పొందడానికి ఒక ప్రయత్నం జరుగుతుంది.

అది విఫలమైతే, నన్ను గుర్తుపెట్టుకునే కుకీ కోసం లారావెల్ తనిఖీ చేస్తుంది. అది ఉన్నట్లయితే, మరోసారి డేటాబేస్ నుండి వినియోగదారుని తిరిగి పొందడానికి ఒక ప్రయత్నం జరుగుతుంది.



చెల్లుబాటు అయ్యే వినియోగదారు డేటాబేస్ నుండి తిరిగి పొందబడినట్లయితే మాత్రమే నిజమైన తిరిగి ఇవ్వబడుతుంది.

'గెస్ట్' ఫిల్టర్ ఈ పద్ధతిని ఉపయోగిస్తుంది
Laravel అతిథి వడపోత యొక్క డిఫాల్ట్ అమలును | _+_ | లో అందిస్తుంది.

మార్గం::వడపోత('అతిథి', ఫంక్షన్()
{
ఉంటే (Auth::తనిఖీ()) తిరిగిదారిమార్పు::కు('/');
});

ఈ డిఫాల్ట్ అమలు మీరు అతిథులు (లాగ్ ఇన్ చేయని వినియోగదారులు) ద్వారా మాత్రమే యాక్సెస్ చేయగల మార్గానికి ఫిల్టర్‌ని జోడించాలనుకున్నప్పుడు ఉపయోగించబడుతుంది. ఒక యూజర్ లాగిన్ అయితే, వారు హోమ్ పేజీకి మళ్ళించబడతారు.