İçeriğe atla

BT Hayat

Iphone Laravel
17 Aralık 2021

Laravel’de başka kriterlere göre kullanıcıya giriş (login) yaptırma

ile hasan

PHP Laravel framework’ünün herhalde en sevdiğim özelliği “Şunu nasıl yaparız acaba?” sorusuna hemen her zaman çok basit bir cevabı olmasıdır. Bugün üzerinde çalıştığım projede klasik username / password ikilisine ek olarak başka bir şekilde daha kullanıcıya giriş yaptırmam icab edince (mesela email / password) bunu en pratik nasıl yaparım diye AuthManager’ima göz attım. Şöyle idi:

    public function login(array $credentials){

        if (!Auth::attempt($credentials)) {
            throw new CustomException(__('The credentials are incorrect.'), 401);
        }

        $user = Auth::user(); 

Burada Laravel’in Auth::attempt() methodu işi hallediyor. Konu dışı olarak belirteyim; eğer kullanıcı bilgisi olarak username / password dışında üçüncü bir kriter -ek olarak- dahil olsun istiyorsanız bu kodu hiç değiştirmenize gerek kalmıyor. Mesela müşteri kodu da bu sorgulamaya girsin diyorsanız $credentials içerisinde “customer_id”=>123 gibi bir değer varsa otomatikmen Auth::attemt($credentials) bu üç kriteri sorguya sokuyor zaten.

Bizim problemimizde kullanıcı username ve password ikilisini giriyor sadece ama username yerine email de yazabilsin istiyoruz. Yani email için ayrı bir alan olmayacak.

İşte onun çözümü de gayet basit 🙂 Auth::attempt()’i bu kez email’i parametre olacak şekilde yazdığınızda ilk kriterden geçemezse ikinci kriteri deneterek Laravel’in mevcut yapısını bozmadan sorunu çözebiliyoruz.

    public function login(array $credentials){

        if (!Auth::attempt($credentials) && !Auth::attempt([
            'email'=>$credentials['username'],
            'password'=>$credentials['password']
        ])) {
            throw new CustomException(__('The credentials are incorrect.'), 401);
        }

        $user = Auth::user();

Etiketlerauth laravel login

Yazı gezinmesi

Önceki YazıÖnceki Kitapi Ropörtajı Yaptık
Sonraki YazıSonraki NFT belasına gardaş, dökdüğümüz bayt değil!

Bir yanıt yazın Yanıtı iptal et

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Son Yazılar

  • Her gün helva yiyenlerin durumu
  • Ispartakule’nin saygısız sürücüsü!
  • Kitapi 10 yaşında
  • Kep Adresi, Mobil İmza, Islak İmza üçgeninde bir Türk mevzuatı kısır döngüsü
  • Allah rahmet eylesin

Son yorumlar

  1. hasan - 10.10.24
  2. Sahika - Ispartakule’nin saygısız sürücüsü!
  3. hasan - Kitapi 10 yaşında
  4. elasu güler - Kitapi 10 yaşında
  5. sahika - Yeni Ofisim: Başakşehir Living Lab
WordPress gururla sunar | Tema: Popularis Writer