Tüm Sayfalar / 21 - Kullanıcı Yönetimi
Sayfa 21 / 161
Kullanıcı ve Yetki Yönetimi

Kullanıcı Yönetimi

Tüm kullanıcıları ve yetkilerini yöneten güvenli sistem

Biz Ne Yaptık?

Sistemdeki tüm kullanıcıları ve yetkilerini yönetmek için kapsamlı bir modül geliştirdik. Kim neye erişebilir, kim ne yapabilir - hepsi rol tabanlı yetkilendirme (RBAC) sistemi ile kontrol ediliyor.

Eski Yöntem

  • Herkes her yere erişebilir
  • Aktivite takibi yok
  • Yetki karmaşası

Modern Mimari

  • Rol tabanlı erişim kontrolü (RBAC)
  • Detaylı aktivite logları
  • Modül bazlı özel yetkiler

Kullanıcı Rolleri

Super Admin

Tam yetki

Admin

Yönetim yetkisi

Editor

İçerik düzenleme

User

Standart üye

Arkada Ne Oluyor?

Kullanıcı İşlem Yaparken

  1. 1 Kullanıcının rolü kontrol ediliyor
  2. 2 Role ait yetkiler (permissions) sorgulanıyor
  3. 3 İşlem için gerekli yetki varsa işlem yapılıyor
  4. 4 Aktivite logu kaydediliyor
Yetkili

İşlem gerçekleştiriliyor ve kullanıcıya sonuç gösteriliyor

Yetkisiz

403 Forbidden hatası, erişim reddediliyor

Arkaplanda Neler Çalışıyor?

Bir kullanıcı admin paneline veya korumalı bir sayfaya erişmeye çalıştığında, sistem şu yetki kontrol sürecini işletiyor:

1. Rol Kontrolü

Sistem $user->roles ile kullanıcının rollerini çekiyor. model_has_roles pivot tablosu üzerinden Spatie Permission paketi bu ilişkiyi yönetiyor. Kullanıcı birden fazla role sahip olabilir.

2. Yetki Sorgulaması

$user->hasPermissionTo('songs.create') gibi kontroller yapılıyor. role_has_permissions tablosundan role ait yetkiler, model_has_permissions tablosundan direkt kullanıcıya atanmış yetkiler birleştiriliyor.

3. Gate Authorization

Laravel'in Gate::authorize() veya @can Blade direktifi ile yetki kontrolü yapılıyor. Yetkisiz erişimde 403 Forbidden hatası döndürülüyor ve kullanıcı erişim reddedildi sayfasına yönlendiriliyor.

4. Aktivite Loglama

Spatie Activity Log paketi ile tüm işlemler kaydediliyor. activity_log tablosuna causer_id (kim yaptı), subject_type (neyi etkiledi), description (ne yaptı) ve properties (eski/yeni değerler) yazılıyor.

5. Yetki Cache

Performans için yetkiler Redis'te cache'leniyor. Rol veya yetki güncellendiğinde php artisan permission:cache-reset ile cache temizleniyor. Bu sayede her istekte veritabanı sorgusu yapılmıyor.

6. Son Aktivite Takibi

Her istekte UpdateLastActivity middleware'i çalışıyor ve users.last_activity_at alanı güncelleniyor. Admin panelinde "son görülme" bilgisi bu alandan okunuyor. IP adresi de last_login_ip alanına kaydediliyor.

Bu Sayfanın Anahtar Terimleri

RBAC (Role-Based Access Control)

Rol tabanlı erişim kontrolü sistemi.

Şirketteki unvanlara göre oda kartları gibi

Role (Rol)

Kullanıcının sistemdeki görevi/pozisyonu.

Müdür, memur, stajyer gibi

Permission (Yetki)

Belirli bir işlemi yapabilme izni.

Şarkı ekleme, kullanıcı silme yetkisi

Activity Log (Aktivite Logu)

Kullanıcı işlemlerinin kaydı.

Kim, ne zaman, ne yaptı?

KULLANICILAR
2,859 Kayıtlı Hesap
Super Admin
2
Admin
5
Editor
12
User
2,840
RBAC Korumalı

Rol Tabanlı Erişim Kontrolü