Skip to main content

Middleware

Platform 2 özel middleware kullanmaktadır.

SetUserLocale

Kullanıcının dil ve saat dilimi tercihlerini otomatik olarak uygular.

Konum

app/Http/Middleware/SetUserLocale.php

İşlev

  • auth:sanctum middleware'inden sonra çalışır
  • Kullanıcının UserSetting kaydından locale ve timezone değerlerini okur
  • app()->setLocale() ve date_default_timezone_set() ile uygular
  • Kullanıcı yoksa varsayılan olarak tr locale kullanır

Kullanım

bootstrap/app.php içinde otomatik olarak kayıtlıdır:

->withMiddleware(function (Middleware $middleware) {
$middleware->prepend(SetUserLocale::class);
})

PermissionMiddleware

Dinamik slug bazlı izin kontrolü yapar.

Konum

app/Http/Middleware/PermissionMiddleware.php

İşlev

  • permission:* alias'ı ile route'larda kullanılır
  • Bearer token üzerinden kullanıcıyı okur
  • Slug tabanlı izin kontrolü yapar
  • .own suffix'leri için kaynak sahibi kontrolü yapar
  • system.toor ve server.root rolleri için bypass sağlar

Kullanım

Route'larda:

Route::middleware(['auth:sanctum', 'permission:users.view'])->group(function () {
// ...
});

Özellikler

  • System Role Bypass: system.toor ve server.root rolleri tüm permission kontrollerini bypass eder
  • Own Permission: .own suffix'li permission'lar için kaynak sahibi kontrolü
  • Custom Secret: ROLE_SYSTEM_SECRET ortam değişkeni ile sistem rolleri için gizli anahtar kontrolü

İlgili Dokümantasyon