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:sanctummiddleware'inden sonra çalışır- Kullanıcının
UserSettingkaydındanlocalevetimezonedeğerlerini okur app()->setLocale()vedate_default_timezone_set()ile uygular- Kullanıcı yoksa varsayılan olarak
trlocale 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
.ownsuffix'leri için kaynak sahibi kontrolü yaparsystem.toorveserver.rootrolleri için bypass sağlar
Kullanım
Route'larda:
Route::middleware(['auth:sanctum', 'permission:users.view'])->group(function () {
// ...
});
Özellikler
- System Role Bypass:
system.toorveserver.rootrolleri tüm permission kontrollerini bypass eder - Own Permission:
.ownsuffix'li permission'lar için kaynak sahibi kontrolü - Custom Secret:
ROLE_SYSTEM_SECRETortam değişkeni ile sistem rolleri için gizli anahtar kontrolü
İlgili Dokümantasyon
- Permission Kılavuzu - Permission kullanımı
- RBAC Sistemi - Rol ve permission yapısı