ปัญหา
คุณต้องการดูว่าผู้ใช้เข้าสู่ระบบอยู่หรือไม่
คุณทราบดีว่า Laravel จะเก็บผู้ใช้ที่รับรองความถูกต้องไว้ในเซสชันโดยอัตโนมัติ คุณต้องการตรวจสอบว่าคำขอปัจจุบันมีผู้ใช้ที่เข้าสู่ระบบและรับรองความถูกต้องหรือไม่
สารละลาย
ใช้ |_+_|.
|_+_| วิธีการคืนค่าจริงหรือเท็จ
ถ้า (รับรองความถูกต้อง::ตรวจสอบ())
{
โยนออก 'เย้! คุณเข้าสู่ระบบแล้ว';
}
การอภิปราย
มีหลายสิ่งที่เกิดขึ้นเบื้องหลังเมื่อคุณทำเช่นนี้
ก่อนอื่น Laravel จะตรวจสอบว่าเซสชันปัจจุบันมีรหัสผู้ใช้หรือไม่ ถ้าเป็นเช่นนั้น จะพยายามดึงผู้ใช้จากฐานข้อมูล
หากล้มเหลว Laravel จะตรวจสอบคุกกี้จดจำฉัน หากมีอยู่แล้วจะพยายามดึงผู้ใช้จากฐานข้อมูลอีกครั้ง
เฉพาะในกรณีที่มีการเรียกผู้ใช้ที่ถูกต้องจากฐานข้อมูลที่ส่งคืนจริง
ตัวกรอง 'แขก' ใช้วิธีนี้
Laravel จัดเตรียมการใช้งานเริ่มต้นของตัวกรองแขกใน |_+_|
{
ถ้า (รับรองความถูกต้อง::ตรวจสอบ()) กลับเปลี่ยนเส้นทาง::ถึง('/');
});
การใช้งานเริ่มต้นนี้ใช้เมื่อคุณต้องการเพิ่มตัวกรองในเส้นทางที่แขกเท่านั้นที่เข้าถึงได้ (หรือผู้ใช้ที่ยังไม่ได้เข้าสู่ระบบ) หากผู้ใช้เข้าสู่ระบบ ผู้ใช้จะถูกเปลี่ยนเส้นทางไปยังโฮมเพจ