Mevcut Kullanıcının Kimliğinin Doğrulanıp Doğrulanmadığını Belirleme

Determining If Current User Is Authenticated



Sorun

Bir kullanıcının oturum açıp açmadığını görmek istiyorsunuz.

Laravel'in kimliği doğrulanmış kullanıcıyı otomatik olarak oturumda tuttuğunu biliyorsunuz. Geçerli istekte oturum açmış ve kimliği doğrulanmış bir kullanıcı olup olmadığını kontrol etmek istiyorsunuz.







Çözüm

|__+_| kullanın.



|__+_| yöntem doğru veya yanlış döndürür.



Eğer (yetki::Kontrol())
{
dışarı attı 'Yay! Giriş yaptınız.';
}

Tartışma

Bunu yaptığınızda perde arkasında birkaç şey olur.





İlk Laravel, mevcut oturumun bir kullanıcının kimliğine sahip olup olmadığını kontrol eder. Eğer öyleyse, kullanıcıyı veri tabanından almak için bir girişimde bulunulur.

Bu başarısız olursa, Laravel beni hatırla çerezini kontrol eder. Bu mevcutsa, kullanıcıyı veritabanından almak için bir kez daha girişimde bulunulur.



Yalnızca veritabanından geçerli bir kullanıcı alınırsa true döndürülür.

'Misafir' filtresi bu yöntemi kullanır
Laravel, |_+_| içinde konuk filtresinin varsayılan uygulamasını sağlar.

Güzergah::filtre('konuk', işlev()
{
Eğer (yetki::Kontrol()) dönüşYönlendirme::ile('/');
});

Bu varsayılan uygulama, yalnızca konukların erişebildiği bir rotaya filtre eklemek istediğinizde kullanılır (diğer bir deyişle, oturum açmamış kullanıcılar). Bir kullanıcı oturum açtıysa, ana sayfaya yönlendirilir.