• 18-08-2020, 11:10:29
    #1
    Çalıştığım yerde kullanıcılara yetki vereceğiz ama belki 150den fazla farklı adrese yetki olacak. Veritabanında saklamak bana çöplük gibi durmasına sebep olur gibi geliyor. Dosyada saklamayı düşünüyorum ama her adrese giderken kontrol edileceği için dosyadan çekip kontrol etmesi uzun mu sürer ve dosyada saklamak sağlıklı mı olur bilemiyorum. Nasıl ve nerede saklayabilirim tavsiyesi olan var mı?
  • 18-08-2020, 11:15:39
    #2
    dev
    Kurumsal Üye
    expixer adlı üyeden alıntı: mesajı görüntüle
    Çalıştığım yerde kullanıcılara yetki vereceğiz ama belki 150den fazla farklı adrese yetki olacak. Veritabanında saklamak bana çöplük gibi durmasına sebep olur gibi geliyor. Dosyada saklamayı düşünüyorum ama her adrese giderken kontrol edileceği için dosyadan çekip kontrol etmesi uzun mu sürer ve dosyada saklamak sağlıklı mı olur bilemiyorum. Nasıl ve nerede saklayabilirim tavsiyesi olan var mı?
    Veritabaninda saklamak niye copluk olsun ki?

    users, permissions, user_permissions (pivot tablo) acip tertemiz kullanabilirsiniz.
  • 18-08-2020, 11:17:15
    #3
    Noroc adlı üyeden alıntı: mesajı görüntüle
    Veritabaninda saklamak niye copluk olsun ki?

    users, permissions, user_permissions (pivot tablo) acip tertemiz kullanabilirsiniz.
    150den fazla adresi kontrol edeceğim. Hepsine bir sütun mu açacağım bir tavsiyeniz var mı?
  • 18-08-2020, 11:19:13
    #4
    dev
    Kurumsal Üye
    expixer adlı üyeden alıntı: mesajı görüntüle
    150den fazla adresi kontrol edeceğim. Hepsine bir sütun mu açacağım bir tavsiyeniz var mı?
    Tam olarak nasil bir kontrolden ve izinden bahsettiginizi detayli alatabilirseniz, cevap vermeye calisabilirim.
  • 18-08-2020, 11:24:46
    #5
    Noroc adlı üyeden alıntı: mesajı görüntüle
    Tam olarak nasil bir kontrolden ve izinden bahsettiginizi detayli alatabilirseniz, cevap vermeye calisabilirim.
    Örneğin a adresine gidiyorsunuz, middleware olarak kontrol edeceğim yetkiniz varmı gitmeye aynı şekilde b adresine de öyle gibi gibi. Hepsini de ayrı ayrı saklamam lazım a adresi için ayrı b adresi için ayrı
  • 18-08-2020, 11:50:00
    #6
    expixer adlı üyeden alıntı: mesajı görüntüle
    Örneğin a adresine gidiyorsunuz, middleware olarak kontrol edeceğim yetkiniz varmı gitmeye aynı şekilde b adresine de öyle gibi gibi. Hepsini de ayrı ayrı saklamam lazım a adresi için ayrı b adresi için ayrı

    https://github.com/spatie/laravel-permission

    bu kütüphane ile istediğiniz gibi yetki kontrolü yaptırabilirsiniz.

    kendiniz yazacaksanız, middleware ile birlikte gate kullanabilirsiniz.
  • 18-08-2020, 11:56:29
    #7
    dev
    Kurumsal Üye
    expixer adlı üyeden alıntı: mesajı görüntüle
    Örneğin a adresine gidiyorsunuz, middleware olarak kontrol edeceğim yetkiniz varmı gitmeye aynı şekilde b adresine de öyle gibi gibi. Hepsini de ayrı ayrı saklamam lazım a adresi için ayrı b adresi için ayrı
    Yetkilendirme islemlerinde ben genelde many to many iliski kullanmiyorum DB,de

    Takip ettigim yolu ornek ile aciklayayim.
    • sites tablosu
      • id, name
    • permissions tablosu
      • id, name
    • site_permissions
      • site_id, permission_id
    Bekilde permission tablosuna izinleri kayit edip, siteye vermek istediginiz izinleri site_permission tablosuna ekleyerek kontrolleri saglayabilirsiniz.