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: Python’dan Laravel’e: Neden Mevcut Paketler Yerine Kendi IAM Sistemimi Geliştirdim
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 » Python’dan Laravel’e: Neden Mevcut Paketler Yerine Kendi IAM Sistemimi Geliştirdim

Yazılım

Python’dan Laravel’e: Neden Mevcut Paketler Yerine Kendi IAM Sistemimi Geliştirdim

teknomers
Son güncelleme: 4 Nisan 2026 23:47
teknomers
Paylaş
Paylaş

Laravel’de İzin Yönetimi: Deneyimlerden Dersler

Arka uç geliştirici olarak kariyerimin çoğunu Python — FastAPI, Django, Flask ile çalışarak geçirdim.
Her zaman derin bir şekilde önemsediğim bir konu vardı:
👉 karmaşık hale gelmeden ölçeklenebilir sistemler inşa etmek.
Ancak sürekli karşılaştığım bir problem vardı… hangi teknoloji yığını kullanırsam kullanayım.

<p>🧠 <strong>Problem: “Küresel Rol” Tuzağı</strong><br/>Başta, her şey basit görünür:<br/>• Kullanıcılar<br/>• Roller<br/>• İzinler<br/>Ama sistemler büyüdükçe, işler bozulmaya başlar.<br/>Çoğu RBAC (Role-Based Access Control) paketi şunu varsayar:<br/>👉 bir kullanıcı ya Admin'dir… ya da değildir.<br/>Ama gerçek dünya sistemleri asla bu kadar basit değildir.</p>

<p><strong>Gerçek bir senaryo:</strong><br/>• Bir kullanıcı <strong>Şube A Yönetici</strong>dır.<br/>• Aynı kullanıcı <strong>Şube B İzleyicisi</strong>dir.<br/>Şimdi kendinize sorun:<br/>👉 Bunu nasıl temiz bir şekilde modelleyebilirsiniz?</p>

<p>Çoğu zaman biz böyle yapmayız.<br/>Şu tür koşullar yazarız:<br/>if ($user->role === 'manager' && $branch_id === 1) { ... }<br/>Ve yavaş yavaş…<br/>• mantık her yere yayılır<br/>• bağımlılıklar artar<br/>• ve küçük bir değişiklik sistemin birden fazla parçasını bozabilir.</p>

<p>😵 <strong>Ne Zaman Problem Oldu</strong><br/>Birçok projede aynı paterni gördüm:<br/>• Roller artmaya başladı<br/>• İzinler belirsizleşti<br/>• Erişim sorunlarını çözmek zorlaşmaya başladı.<br/>Kullanılan teknoloji yığını fark etmezdi.<br/>👉 Problem framework'te değildi.<br/>👉 Problem modeldeydi.</p>

<p>🔄 <strong>Dönüm Noktası</strong><br/>Laravel tabanlı sistemlerde çalışırken, mevcut çözümleri, örneğin Spatie'yi inceledim.<br/>Bunlar harikadır — temizdir, basittir ve yaygın olarak kullanılır 👏<br/>Ama karmaşık sistemlerde bazı sınırlamalarla karşılaşmaya başladım:<br/>• Bağlamsal yetkilendirme için gerçek destek yoktu<br/>• Çok kiracılı izinleri yönetmek zor<br/>• Roller ile kapsamlar arasındaki ilişkileri modellemek zordu.<br/>Bir noktada, problemin "çözümleriyle başa çıkmaya" çalışmaktan vazgeçtim.<br/>👉 Yeniden düşünmeye karar verdim.</p>

<p>🚀 <strong>Laravel IAM Oluşturma</strong><br/>Roller üzerine odaklanmak yerine,<br/>👉 <strong>ilişkiler + bağlam + çözümleme</strong> olarak düşünmeye başladım.</p>

<p>Beni şuna yönlendirdi:<br/><strong>Laravel IAM (v0.2.0)</strong></p>

<p>⚙️ <strong>Temel Fikir: Dört Seviye Gerçeklik</strong><br/>Mantığı sert bir şekilde kodlamak yerine, sistem izinleri katmanlı özeliklerle çözümler:</p>

<ol>
    <li>*<em>Küresel *</em>→ <em>.</em> (Süper Admin)</li>
    <li>
        <strong>Kaynak Wildcard</strong> → invoice.*</li>
    <li>
        <strong>İşlem Wildcard</strong> → *.approve</li>
    <li>
        <strong>Atomik İzin</strong> → invoice.approve
        Bu, izin kontrollerini:
        • öngörülebilir
        • ölçeklenebilir
        • anlaması kolay hale getiriyor.</li>
</ol>

<p>🧩 <strong>Bağlam Önemlidir</strong><br/>Aynı rol her yerde aynı anlama gelmez.<br/>Bu yüzden sistem, şunları destekler:<br/>• Kiracı-tabanlı roller<br/>• Ekip-tabanlı roller<br/>• Şube seviyesinde izinler<br/>👉 Kodunuzu karmaşık hale getirmeden.</p>

<p>💡 <strong>Öğrendiklerim</strong><br/>Bu yolculuk bana önemli bir şey öğretti:<br/>👉 <strong>Yetkilendirme roller hakkında değil — bağlam hakkında</strong><br/>Ve daha da önemlisi:<br/>👉 <strong>Mimari, framework'ten daha önemlidir</strong></p>

<p>⚙️ <strong>Alt Yapıda Neler Var</strong><br/>Sistemin arka planındaki bazı tasarım kararları:<br/>• <strong>Kayıt Deseni</strong> → kaynakları ve işlemleri birbirinden ayırıyor<br/>• <strong>Esnek Rol Atama</strong> → ID'leri, slug'ları veya modelleri destekler<br/>• <strong>Kapsamlı Middleware</strong> → bağlamsal yetkilendirmeyi destekler<br/>• <strong>Blade Direktifleri</strong> → temiz UI izin kontrolleri<br/>Ve evet — her şey gerçek iş akışlarını simüle eden bir test paketiyle destekleniyor ✅</p>

<p>🛠️ <strong>Açık Kaynak</strong><br/>Projemi açık kaynak yaptım ve geri bildirim almak isterim:<br/>📦 <a href="https://packagist.org/packages/apurba-labs/laravel-iam" target="_blank" rel="noopener noreferrer">https://packagist.org/packages/apurba-labs/laravel-iam</a><br/>💻 <a href="https://github.com/apurba-labs/laravel-iam" target="_blank" rel="noopener noreferrer">https://github.com/apurba-labs/laravel-iam</a></p>

<p>💬 <strong>Sohbet Edelim</strong><br/>Sistemlerinizde karmaşık izinleri nasıl yönetiyorsunuz?<br/>RBAC ile benzer zorluklarla karşılaştınız mı?</p>

<p><em>Bu yazı, <a href="https://dev.to/challenges/wecoded-2026">2026 WeCoded Challenge</a>'a bir gönderidir: Deneyimlerin Yankıları</em></p>

<p>☕ Akıllı ve mantıklı bir şekilde inşa edildi.</p>

Kaynak: Orijinal Makale

Laravel Proje Kurulumu 5 Dakikada
Küme Hata Yayılmasını Durdur: Laravel’de Devre Kesicileri
Deploynix Yol Haritası: Önümüzdeki Dönemde Neler Geliştiriyoruz ve Neden
FNF Uzlaşma Süreci: Nedir ve Nasıl Çalışır?
Yılda 1 $’ın Altında Web Uygulama Hosting’i (15.000 IDR) Cloudflare Tüneli ile
Bu Makaleyi Paylaş
Facebook Bağlantıyı Kopyala Yazdır
Paylaş
Önceki Makale Sharge Disk Pro 2TB İncelemesi: İyi Sürekli Yazma, Aktif Soğutma ve Hub
Sonraki Makale Microsoft, eski işletim sistemli PC’lerde Windows 11 25H2 güncellemelerini zorlayacak

Sanal Medya

FacebookBeğen
452Takip Et
PinterestSabitle
237Takip Et

Son Eklenenler

Acil: SharePoint’te RCE Açığıyla Makine Anahtarları Çalınıyor
Siber Güvenlik
Sila, Elektrikli Araç Yavaşlamasını Aşarak 300 Milyon Dolar Yatırım Aldı
Genel
Acil: Apple, Mail Kayıtlarında Gerçek E-postaları Açığa Çıkardı!
Siber Güvenlik
Twitch Ebeveynlere Gençlerin Canlı Yayına Geçmesini Engelleme İmkanı Sunuyor
Liste
Taylor Farms’ın Dişarı Diğer Halka Açılmadan Önceki Siyasi Harcamaları
Genel
Ubisoft’tan Ghost Recon Sızıntılarına Yanıt: Ağustos’ta Yeni Gelişmeler
Oyun
//

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?