v2.5.2
Giriş yap

Laravel Auth'u Farklı Bir Dosyada Kullanmak/Erişmek

obey00
560 defa görüntülendi

Merhabalar;
Laravel'de public / assets klasörlerinin içerisindeki .php dosyalarında bir Authentication yapmam gerekiyor. Login işlemlerini Fortify ile otomatik yapıyorum. Backend'te kullandığımız "Auth()" kodunu bahsettiğim dosyalarda nasıl kullanabiliriz? Nasıl erişebiliriz yani? if(auth()....) durumuna göre işlem yapmam gerekiyor public dosyalarda.

Cevap yaz
Cevaplar (4)
obey00
1024 gün önce

Biraz kurcaladım ancak hala bir sonuca ulaşamadım.

obey00
1026 gün önce

@dinar Ckfinder plugini kullanıyorum; içerisinde config.php dosyası var. Burada auth kontrolü yaparak, dışarıdan dosya yüklenebilmesinin önüne geçeceğim. saf php kullanırken standart $_SESSION ile yönetici girişi varsa true, yoksa false döndürerek bu işlemi zaten sağlıyorudum. Ancak laravel kısmında bunu nasıl sağlarım bilmiyorum. Mantıklı veya Mantıksızdır bilemem ancak bu şekilde bir kontrol sağlamam lazım dediğim gibi. Yoksa dışarıdan dosya upload işlemleri sağlanabiliyor.

fatihozpolat
1026 gün önce

çok spesifik bir olaya girmediğiniz sürece public klasöründeki dosyalara php kodu yazılmaz spesifik olarak bir şey yapmanız gerekiyorsa eğer,
örneğin bir resim dosyasını sadece üyelere göstereceksiniz
o zaman yine bir route yazıp gerekli kontrolleri route üzerinden yapar daha sonra routeda sonuç olarak o resim dosyasını dönersiniz


    Route::get('/resim', function () {
        if (!auth()->check()) //kullanıcı giriş yapmamışsa 401 dön
            abort(401);
    
        $file = public_path('images/ornekserfika.jpg'); //dosyayı al
    
        if (!file_exists($file)) //dosya yoksa 404 dön
            abort(404);
    
    
        $resim = file_get_contents($file); //dosyanın kaynağını al
        return response($resim)->header('Content-type', 'image/jpg'); //response u resim olarak dön
    });

buna benzer şekilde örneklenebilir.

dinar
1026 gün önce

public / assets içerisinde .css , .js dosyaları falan barınıyor orada php ile alakalı bir şey yapmıyorsunuz - yapmanızda mantıksız - laravel kurallarına göre geliştirin yazılımınızı.
ne yapmaya çalışıyorsunuz?