Laravel Türkiye Discord Kanalı Forumda kod paylaşılırken dikkat edilmesi gerekenler!Birlikte proje geliştirmek ister misiniz?

Route::get('profile', [UserController::class, 'show'])->middleware(''role:author''); şeklinde kullandıktan sonra bu rotama author rolüne sahip kullanıcıdan başkasının girememesini sağlıyorum

denetleyicide şu aşşağıdaki şekilde neden tanımlama ihtiyacı duyulur ?

public static function middleware(): array
{
    return [
               new Middleware('role:author', only: ['index']),
    ];
}

bu extra bir güvenlik ilemi ilgili bişey ?

ikinci sorumda role adlarında boşluk bırakmak özel karakter kullanmak vs bi probleme yol açarmı ?
Uzman (Güzellik) yada Güzellik Uzmanı gibi bi örnek. rol adında hem boşluk hem parantez hem türkçe karakter kullanımı bir problem çıkarırmı ?

    isset İlk sorunuzun cevabı, rotada tanımladığınız route middleware; controller içindeki ise controller middleware. İkisi de aynı işi yapıyor, biri rota üzerinden koruma diğeri controller bazında koruma, ikisini de kullanabilirsiniz ama aynı rol ve yetki için çalışıyorlarsa sadece bir tanesini kullanmanız lazım. Benim tavsiyem, gerek olmadığı sürece controller middleware kullanmayın, onun yönetimi daha zor:
    https://laravel.com/docs/11.x/controllers#controller-middleware

    Eğer veri tabanı utf8_unicode_ci ise rol isimlerinde özel karakter kullanmak bir sorun yaratmaz ama bu pek doğru bulmadığımız bir işlem çünkü tahmin edemeyeceğimiz yan etikleri olabilir. O yüzden:
    https://spatie.be/docs/laravel-permission/v6/advanced-usage/extending

      tamam çok teşekkürler

      isset Uzman (Güzellik) yada Güzellik Uzmanı gibi

      bir alan üzerinden denetleme yapacaksanız, bunun slug'ını kaydedin db'ye, denetlemeyi o slug üzerinden yapın.

        sineld bir alan üzerinden denetleme yapacaksanız, bunun slug'ını kaydedin db'ye, denetlemeyi o slug üzerinden yapın.

        yanlış anlamadıysam role tablosuna bir slug alanı ekleyerek
        Role::create(['name' => 'Güzellik (Uzmanı)', 'slug' => 'guzellikuzmani']) şeklinde çalışınmı demek istiyorsunuz ?

        Eğer öyleyse bu durumda

        Route::get('profile', [UserController::class, 'show'])->middleware('role:guzellikuzmani'); bu şekilde slug ismini kullanabiliyormuyum ?

        Böyle kullanılsa bile genede role name kısmında türkçe karakterler oldugundan
        bu tehlike yinnede geçerli olacaktır sanırım

        mgsmus Eğer veri tabanı utf8_unicode_ci ise rol isimlerinde özel karakter kullanmak bir sorun yaratmaz ama bu pek doğru bulmadığımız bir işlem çünkü tahmin edemeyeceğimiz yan etikleri olabilir.

          isset Hayır name olarak slug kullanacaksınız, size verdiğim linkteki gibi title diye bir alan ekleyip rol adını ayrı tutabilirsiniz.

          4 gün sonra

          tşkkrler