Giriş yapmadınız.

#1 30.05.2019 14:27:01

jettem
Üye
Kayıtlı: 30.05.2019
Mesajlar: 2

Laravel Yetki Sistemi ve Dil Sistemi Hakkında

Arkadaşlar laravel ile yeni uğraşıyorum öncesinde kendi geliştirdiğim MVC yapımı kullanıyordum.

1- O yapında Url bazında dil ayarım vardı 
site.com/tr/anasayfa
site.com/en/homepage
Tarzında Laravelde bunu nasıl yapacağımı anlayamadım. Benim dil çevirimlerimde dinamik olarak db den geliyordu. Yeni dil eklemek düzenlemek çok kolaydı.

2- Yine Kendi Sistemimde Bütün Modüllerin ve methodların listesini alabiliyor buna göre yetki vermek istediğim kullanıcı ekranında bunları listeleyip şu modüle ve methoda erişebilir veya erişemez mantığı vardı . Ve bunuda laravelde nasıl yapmam gerektiğini anlayamadım.

Hazır paketler var araştırıyorum spatie/laravel-permission gibi  ama ben hazırdan ziyade laravel mantığını anlayıp nasıl bir yol ve formul izlenerek bu sorunları aşmam gerektiğini öğrenmek istiyorum. 

Kısacası laravelin Mantığını çalışma yöntemini anlarsam zaten kendim bir formül bulurum diye düşünüyorum.

yardımcı olursanız sevinirim.

Çevrimdışı

#2 30.05.2019 14:39:01

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,675
Website

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

Merhaba, foruma hoşgeldiniz.

Elbette yardımcı oluruz fakat yardımcı olmadan önce arkadaşlardan öncelikle Laravel konusunda temel bilgi sahibi olmalarını bekliyoruz ve dokümanlara yönlendiriyoruz:
https://laravel.com/docs/5.8/

Ben yine konuyla ilgili bölümlerin linlerini vereyim ama biraz yavaş ilerlemeniz gerekiyor diye düşünüyorum:

Rotalama (Routing)
https://laravel.com/docs/5.8/routing

Yerelleştirme (Localization)
https://laravel.com/docs/5.8/localization

Üyelik ve Yetki sistemi (Authentication, Authorization)
https://laravel.com/docs/5.8/authentication
https://laravel.com/docs/5.8/authorization

Ara katman/yazılım (Middleware)
https://laravel.com/docs/5.8/middleware


Bu linklerin vermemin sebebi konunun kapsamının geniş olduğunu anlamanız için.

Daha sonra burada takıldığınız yerlerde yardımcı olalım.

Çevrimdışı

#3 30.05.2019 21:08:49

coder2
Üye
Yer: Antalya
Kayıtlı: 09.12.2018
Mesajlar: 42

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

Dil sistemiyle ilgili bir konu olduğu için bende konuyu açan arkadaş açısından sorun olmayacaksa bir sorum olacaktı.

Dil değiştirmek için setLocale işlemini uygulayınca oturum boyunca bu işlem geçerli olmuyor. Dil dosyalarını veritabanında değil resource içinde tutuyorum. Acaba dil değişince middleware oluşturup session da locale değeri varsa her sayfa açılışında setLocale yaptırmam mı gerekiyor ?  Oturum boyunca veya kullanıcı değiştirene kadar seçilen dil üzerinden verilerin gelmesi için daha pratik veya geçerli bir yol var mıdır ?

Çevrimdışı

#4 30.05.2019 23:00:26

mgsmus
Moderatör
Yer: Mersin
Kayıtlı: 17.08.2013
Mesajlar: 1,675
Website

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

Hızlıca routes/web.php içerisinde şöyle yapılabilir:

// Domainden sonraki ilk URI segmenti, yani tr, en vs...
$locale = Request::segment(1);

// Belirttiğimiz dillerden biri değilse uygulamanın ana dilini seçiyoruz.
// Burada istenirse ana dil dışında giriş dili farklı da seçilebilir.
if(!in_array($locale, ['tr', 'en', 'fr'])) {
    $locale = config('app.locale');
}

// Uygulama dilini değiştiriyoruz
App::setLocale($locale);

// Sayfaya direkt domain ile girilirse dile göre yönlendirme yapıyoruz. Bu kısımda
// istenirse yönlendirme yerine eski usül intro sayfası gösterilebilir.
Route::get('/', function () use ($locale) {
    return redirect()->to($locale);
});

Route::prefix($locale)->group(function () {
    // Yerelleştirilmiş rotalar buraya...
});

Çevrimdışı

#5 31.05.2019 10:43:18

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 463

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

çok geç kalmışsın @jettem sanki seni ceviz.netten tanıyorum nikin yabancı gelmedi hiç bana smile


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#6 31.05.2019 10:50:48

deathisonitsway
Üye
Kayıtlı: 01.02.2016
Mesajlar: 463

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

Dil değiştirmek için setLocale işlemini uygulayınca oturum boyunca bu işlem geçerli olmuyor.

bütün heryerde geçerli olması için @mgsmusun kodunu appServiceProvider.php icinde yapabilirsiniz.Providerlar rotalarınızın tümünü kapsayacaktır.Route işlemi providerdan önce yüklendiği için segmenti yakalayabilirsiniz.


Laravel does not save you. Php knowledge only save you. Do not become a Laravel programmer, just the opposite,become php developer.

Çevrimdışı

#7 09.06.2019 13:02:44

jettem
Üye
Kayıtlı: 30.05.2019
Mesajlar: 2

Yanıt: Laravel Yetki Sistemi ve Dil Sistemi Hakkında

deathisonitsway yazdı:

çok geç kalmışsın @jettem sanki seni ceviz.netten tanıyorum nikin yabancı gelmedi hiç bana smile

Aynen deathisonitsway ben bayadır sektörden uzak kaldım. Bu süre içerisindede kendi mvc yapımı kullanıyorum. Ama artık tekelleşmeye başlayan mvc dünyasında laravel öğrenmeye başlayım dedim ama zorlanıyorum ilk etapta .  Zorlanma derkende basit işlemler için değilde kendi yapımı laravelde kurmaya çalıştığım için yoksa standart işlemlerde problem yok.

Benim User mantığım şöyle idi  standart bir kalıba uymak istemiyorum işte bu sayfaya admin erişebilir gerisi erişemez gibi kategorize etmek yerine ben her user için kişiselleştirilmiş yetki tanımlıyordum. Benim mantığımda admin - user - editör gibi tanımlar yok. Direk user ekle ve yetkilerini seç belki bir editör bir sayfaya gimeyecekken diğer editörün girmesi gerekebiliyor.

Örnek Yetki Yapım



QP4lvV.png

Çevrimdışı

Forum alt kısmı