Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Yazı Tipi BoyutlandırıcıAa
  • Anasayfa
  • Teknoloji
    • Siber Güvenlik
    • Yapay Zeka
    • Donanım
    • Bilim
  • Yazılım
  • Savunma & İstihbarat
  • Oyun
  • Yaşam
    • Finans
    • Sinema
    • Dünyadan Haberler
  • İş Birliği
Okuma: Laravel Politikaları: Yetkilendirmeyi Merkezi Hale Getirin ve Kontrolcülerinizin Temiz Kalmasını Sağlayın
Paylaş
Yazı Tipi BoyutlandırıcıAa
Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Ara
Bizi Takip Et
  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti
© 2026 Teknomers. All Rights Reserved.

Anasayfa » Laravel Politikaları: Yetkilendirmeyi Merkezi Hale Getirin ve Kontrolcülerinizin Temiz Kalmasını Sağlayın

Yazılım

Laravel Politikaları: Yetkilendirmeyi Merkezi Hale Getirin ve Kontrolcülerinizin Temiz Kalmasını Sağlayın

teknomers
Son güncelleme: 18 Şubat 2026 03:10
teknomers
Paylaş
Paylaş

Yetkilendirme genellikle basit bir şekilde başlar, ancak proje büyüdükçe erişim kuralları hızla tekrarlanan ve tutarsız hale gelir. Laravel Policies bu sorunu, bir kaynağa kimlerin ne yapabileceğini tanımlamak için tek bir açık yer sağlayarak çözer.

Başlangıçta, birçok Laravel uygulaması erişim kurallarını hızlı kontrollerle yönetir:

  • bir if kontrolü bir kontrolörde,
  • başka bir kontrol bir Blade görünümünde,
  • belki bir hizmette bir koşul,
  • ve (bazen) bir API uç noktasında eksik bir kontrol.

Birkaç hafta sonra, kurallar tekrarlanan, tutarsız ve güvenli bir şekilde değiştirilmesi zor hale gelir.

Laravel Policies bunu çözer; size verilen bir model (kaynak) üzerinde kimlerin ne yapabileceğini tanımlamak için tek bir açık yer sağlar.




Laravel’de Policy Nedir?

Bir Policy, bir model etrafında yetkilendirme mantığını gruplayan bir sınıftır.

Örnekler:

  • ProjectPolicy → Project için kurallar
  • PostPolicy → Post için kurallar
  • OrderPolicy → Order için kurallar

Bir Policy, şu tür soruları yanıtlar:

  • “Bu kullanıcı bu projeyi güncelleyebilir mi?”
  • “Bu gönderiyi silebilirler mi?”
  • “Bu siparişi görüntüleyebilirler mi?”

Kontrollerin her yerine yaymak yerine, kuralı bir kez Policy içinde tanımlar ve ardından authorize() / can() ile tutarlı bir şekilde yeniden kullanırsınız.




Neden Policies Önemlidir (Pratik Nedenler)



1) Tek bir doğruluk kaynağı

Bir kural = bir yer.

Artık kontrolörlerde ve görünümlerde tüm koşulları bulmak için avlanmaya gerek yok.



2) Uygulama genelinde tutarlılık

Aynı kural şunlarla uygulanır:

  • web kontrolörleri,
  • API kontrolörleri,
  • Blade şablonları,
  • işler,
  • komutlar.



3) Daha az güvenlik riski

Yetkilendirme standart hale geldiğinde, bir rotada “bir kontrolün unutulması” daha zor hale gelir.



4) Geliştirilmesi daha kolay

Kurallar sürekli değişiyor (“yöneticiler de düzenleyebilir”, “yalnızca premium kullanıcılar X yapabilir”).

Policies ile mantığı bir kez güncellersiniz.




Basit bir örnek: “Sahibi güncelleyebilir, yönetici her şeyi yapabilir”

Diyelim ki bir Project bir kullanıcıya ait. İstediğimiz:

  • yöneticiler her projeyi güncelleyebilir,
  • sahipler kendi projelerini güncelleyebilir.



Policy

// app/Policies/ProjectPolicy.php
namespace App\Policies;

use App\Models\Project;
use App\Models\User;

class ProjectPolicy
{
    public function update(User $user, Project $project): bool
    {
        return $user->is_admin || $project->user_id === $user->id;
    }
}



Bunu bir kontrolörde kullanın

// app/Http/Controllers/ProjectController.php
use App\Models\Project;

class ProjectController
{
    public function update(Project $project)
    {
        $this->authorize('update', $project);

        // ... güncelleme mantığı
        return back();
    }
}

Temel iş akışı budur:

  1. Kontrolörünüz Laravel’e: “bu izinli mi?” diye sorar.
  2. Laravel Policy yöntemini (update) çağırır.
  3. Policy true veya false döner.



Laravel doğru Policy’yi nasıl bulur?

Laravel modelleri policies ile eşler.



Seçenek A: Otomatik keşif

Eğer Policy’niz ProjectPolicy olarak adlandırılmış ve app/Policies dizininde yer alıyorsa, Laravel genellikle bunu otomatik olarak keşfeder (sürüm/yapılandırmanıza bağlı olarak).



Seçenek B: Açık eşleme

Policies’i AuthServiceProvider içinde kaydedebilirsiniz:

// app/Providers/AuthServiceProvider.php
namespace App\Providers;

use App\Models\Project;
use App\Policies\ProjectPolicy;
use Illuminate\Foundation\Support\Providers\AuthServiceProvider as ServiceProvider;

class AuthServiceProvider extends ServiceProvider
{
    protected $policies = [
        Project::class => ProjectPolicy::class,
    ];

    public function boot(): void
    {
        $this->registerPolicies();
    }
}



Kontroller dışında Policies Kullanımı

Policies sadece kontrolörler için değildir.



Blade’de

@can('update', $project)
  Düzenle
@endcan



Kod içinde (hizmetler, işler, her yerde)

if (auth()->user()->can('update', $project)) {
    // izinli
}



Gerçek Projeler için Temiz Bir Model

Basit bir kural yardımcı olur:



✅ Kontrolörler organize eder, Policies karar verir

  • Kontrolörler: isteği alır, authorize çağrısı yapar, eylemi gerçekleştirir.
  • Policies: erişim iş kuralını içerir.
  • Hizmetler/Kullanım Senaryoları: gerçek işi yapar (isteğe bağlı, mimarinize bağlı olarak).

Bu, sorumlulukları net tutar ve “izin karmaşasını” önler.




İyi Policies Yazma İpuçları

  • Yöntemleri küçük ve belirgin tutun (view, create, update, delete).
  • Açık koşulları akıllı mantıktan üst tutun.
  • İlişkileri temiz kullanın ($project->team_id, $user->teams->contains(...)).
  • “rol + sahiplik + durum” kurallarını düşünün (SaaS’de çok yaygın).



Hızlı Kontrol Listesi

  • [ ] Her yazma eylemi kontrolörlerde authorize() kullanır
  • [ ] Temel modeller (Project, Post, Order…) için Policies vardır
  • [ ] Görünümler @can kullanır, rasgele kontroller yerine
  • [ ] Eşleme yapılandırılmıştır (otomatik veya AuthServiceProvider)
  • [ ] Testler birkaç kritik izni kapsar



Sonuç

Laravel Policies, yetkilendirmeyi korumanın en iyi yollarından biridir:

  • merkezi (bir kural, bir yer),
  • tutarlı (web, API, görünümler),
  • daha güvenli (daha az unutulan kontroller),
  • geliştirilmesi kolay.

Kaynak: Orijinal Makale

Contents
  • Laravel’de Policy Nedir?
  • Neden Policies Önemlidir (Pratik Nedenler)
    • 1) Tek bir doğruluk kaynağı
    • 2) Uygulama genelinde tutarlılık
    • 3) Daha az güvenlik riski
    • 4) Geliştirilmesi daha kolay
  • Basit bir örnek: “Sahibi güncelleyebilir, yönetici her şeyi yapabilir”
    • Policy
    • Bunu bir kontrolörde kullanın
  • Laravel doğru Policy’yi nasıl bulur?
    • Seçenek A: Otomatik keşif
    • Seçenek B: Açık eşleme
  • Kontroller dışında Policies Kullanımı
    • Blade’de
    • Kod içinde (hizmetler, işler, her yerde)
  • Gerçek Projeler için Temiz Bir Model
    • ✅ Kontrolörler organize eder, Policies karar verir
  • İyi Policies Yazma İpuçları
  • Hızlı Kontrol Listesi
  • Sonuç
Laravel Ekran Görüntüsü API’si: PHP’de Ekran Görüntüsü Yakalama ve PDF Oluşturma
Laravel Alt Alan Adı Rotalarında Kök Alan Adı URL’leri Oluşturma: UrlGenerator’ı Kopyala
Laravel Geliştiricileri Neden Genel PaaS’dan Laravel’e Özel Platformlara Geçiyor?
Kodlama Asistanlarının Evrimi: Otomatik Tamamlamadan Laravel Geliştiricileri için Akıllı Yapay Zeka’ya
Etkili Bir Kahraman Bölümü Oluşturma: UX, SEO ve Dönüşümü Artırma Yöntemleri
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Japon tuvalet üreticisi: 2026’nın ilk iki ayında hisseler %40 arttı
Sonraki Makale 2026’da Online Vergi Ödeme Rehberi: En İyi Yöntemler ve İpuçları

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Snapmaker, açık kaynak 3D yazıcılar için 150,000$ Yenilik Fonu başlattı
Donanım
Çin, Mythos’a Erişim Sağlamış Olabilir
Liste
Uygulamanız ile Geçit Arasında Uyuşmazlık Olduğunda: Yetim Temizleme ve Durum Uzlaşması
Yazılım
Apple, G4’ün ihracat yasağıyla pazarlama fırsatı yarattı
Donanım
Conclave’ın Albümü NYC Yaz Bloğu Partisi Sesini Taşıyor
Liste
Yapay Zeka Şirketleri Halka Açılırken Kimler Bu Yolculukta?
Yapay Zeka
//

Siber güvenlik, yapay zeka ve savunma sanayiinden; finans ve sinema dünyasına uzanan geniş bir yelpaze. Teknomers; teknoloji, strateji ve yazılım dünyasını sade bir dille sizlerle buluşturuyor.

Kurumsal

  • Hakkımızda
  • Gizlilik politikası
  • Tanıtım Yazısı ve Backlink Hizmeti

Kategoriler

  • Teknoloji
  • Oyun
  • Sinema
  • Siber Güvenlik
  • Bilim
  • Finans
  • Dünyadan Güncel Haberler

Populer

  • TV'de Ücretsiz İzlenebilen Şifresiz Erotik Kanallar (2025 Güncel Frekans Listesi)

  • The Last of Us PC Kontrolleri: Hızlı Silah Değiştirme ve Tüm Tuşlar (2025)

  • Hogwarts Legacy'de Odaklanma İksiri Nasıl Yapılır?

Teknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor HaberleriTeknomers | Dünyadan Güncel Teknoloji | Oyun | Müzik | Film | Spor Haberleri
Bizi Takip Et
© 2026 Teknomers. All Rights Reserved.
Welcome Back!

Sign in to your account

Kullanıcı Adı veya E-posta Adresi
Şifre

Şifrenizi mi unuttunuz?