การพิจารณาว่าผู้ใช้ปัจจุบันได้รับการพิสูจน์ตัวตนแล้วหรือไม่

Determining If Current User Is Authenticated



ปัญหา

คุณต้องการดูว่าผู้ใช้เข้าสู่ระบบอยู่หรือไม่

คุณทราบดีว่า Laravel จะเก็บผู้ใช้ที่รับรองความถูกต้องไว้ในเซสชันโดยอัตโนมัติ คุณต้องการตรวจสอบว่าคำขอปัจจุบันมีผู้ใช้ที่เข้าสู่ระบบและรับรองความถูกต้องหรือไม่







สารละลาย

ใช้ |_+_|.



|_+_| วิธีการคืนค่าจริงหรือเท็จ



ถ้า (รับรองความถูกต้อง::ตรวจสอบ())
{
โยนออก 'เย้! คุณเข้าสู่ระบบแล้ว';
}

การอภิปราย

มีหลายสิ่งที่เกิดขึ้นเบื้องหลังเมื่อคุณทำเช่นนี้





ก่อนอื่น Laravel จะตรวจสอบว่าเซสชันปัจจุบันมีรหัสผู้ใช้หรือไม่ ถ้าเป็นเช่นนั้น จะพยายามดึงผู้ใช้จากฐานข้อมูล

หากล้มเหลว Laravel จะตรวจสอบคุกกี้จดจำฉัน หากมีอยู่แล้วจะพยายามดึงผู้ใช้จากฐานข้อมูลอีกครั้ง



เฉพาะในกรณีที่มีการเรียกผู้ใช้ที่ถูกต้องจากฐานข้อมูลที่ส่งคืนจริง

ตัวกรอง 'แขก' ใช้วิธีนี้
Laravel จัดเตรียมการใช้งานเริ่มต้นของตัวกรองแขกใน |_+_|

เส้นทาง::กรอง('แขก', การทำงาน()
{
ถ้า (รับรองความถูกต้อง::ตรวจสอบ()) กลับเปลี่ยนเส้นทาง::ถึง('/');
});

การใช้งานเริ่มต้นนี้ใช้เมื่อคุณต้องการเพิ่มตัวกรองในเส้นทางที่แขกเท่านั้นที่เข้าถึงได้ (หรือผู้ใช้ที่ยังไม่ได้เข้าสู่ระบบ) หากผู้ใช้เข้าสู่ระบบ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังโฮมเพจ