• 01-11-2018, 13:19:45
    #10
    LORDD adlı üyeden alıntı: mesajı görüntüle
    Hocam,

    Adım adım gitme mantığınızı anlıyorum, olması gereken de bu fakat bu söylediklerinizi kontrol ettim yukarda da bahsi geçiyor belki gözünüzden kaçmış olabilir.

    "Anladığım kadarıyla kullanıcı kendi şifresini değiştirince problem oluşuyor. Admin o kullanıcının şifresini değiştirince giriş yapılabiliyor. Burada problem 2 sebepten.."

    Doğru, sorun bu.

    Üretilen hash ile DB'ye yazılan hash birebir aynı, eksik yazma ya da yanlış yazma söz konusu değil, DB'den gelen hash değeri de doğru (ne yazılmışsa o geliyor) bunu da kontrol ettim.

    Emin olduğum şu:
    Bir şekilde user tarafında parola değişikliği yapıldığında hash değeri farklı oluşuyor. Dolayısı ile yukarda bahsettiğiniz helper olayına geldi sıra.

    Teşekkür ederim.
    App klasörünün altına Helpers klasörü oluşturun. Bu klasörün içine HashHelper.php isminde bir dosya oluşturabilirsiniz.

    HashHelper.php:
    namespace App\Helpers;
    use Illuminate\Support\Facades\Hash;
    
    class HashHelper{
      public static function sifrele($sifre){
         return Hash::make($sifre);
      }
      // Hash::check içinde ayrı bir fonksiyon buraya yazabilirsiniz.
    }
    Daha sonra config klasörüne gidip app.php dosyasını açıp eklediğimiz helper dosyasını aliases dizisine tanımlayın.

    'HashHelper'     => App/Helpers/HashHelper::class,

    Herhangi bir controllerda oluşturduğunuz bu helperı kullanabilirsiniz.

    TestController.php
    namespace App\Http\Controllers;
    use HashHelper;
    .
    .
    .
    return HashHelper::sifrele($request->sifre);
    .
    .
    .
    Burdaki esas nokta admin ve kullanıcı tarafından uygulanan hash::make ve hash::check işlemlerinin oluşturduğunuz helper üzerinden yapılmasıdır. Sadece birini bu helper üzerinden yapmanız birşeyi değiştirmez. 2 şifrelemenin ve kontrolün bu helper üzerinden gerçekleştirildiğine emin olun. İşe yarayacağına emin değilim. Garip bir hataya garip bir çözüm önerisinde bulunuyorum sadece elimden bu kadarı geliyor. Bu seferde olmazsa konu altına attığım ilk cevaba dönüş yapmanızı öneririm. Laraveli baştan kurmaya kadar yolu görünüyor.
  • 01-11-2018, 14:58:25
    #11
    Fikirleriniz için teşekkür ederim.

    Bu son öneri bazı kullanıcıları olumsuz etkileyecek bu nedenle köklü bir değişikliğe gideceğim bu hali ile çözmeye çalışmak oldukça zamanımı aldı.
    Düşük bir ihtimal belki ama bu garip sorun ile ilgili bir BUG olabilir, birkaç farklı yabancı kaynakta da denk gelmiştim (tabii bunların çoğu kullanıcı hatası da olabilir).

    Kolaylıklar.
  • 01-11-2018, 15:27:53
    #12
    ztk
    Kimlik doğrulama veya yönetimden onay bekliyor.
    çözüldü mü bilmiyorum ama şifre oluştururken
    Hash::make('asdfasdf')
    yerine helper olarak
    bcrypt('asdfasdf')
    kullanın. zaten hazır olarak var bu.
    .env dosyasındaki APP_KEY i değiştirdiyseniz de sorun oluşturmuş olabilir.
    önce tüm cache leri silin.
    php artisan key:generate komutu ile yeni key oluşturun. sonra şifreleri güncellemeyi deneyin.