Device Session Sistemi

Plan & Simülasyon v2

Sistem Aktif 10 Aralık 2025

BUG DÜZELTİLDİ: Setting Key Uyumsuzluğu

DeviceService.php artık doğru setting key'i kontrol ediyor.

ESKİ (Yanlış):

auth_device_limit_enabled

❌ Böyle bir setting yoktu

YENİ (Doğru):

auth_device

✓ Artık bu kullanılıyor

Sonuç: shouldRun(): TRUESistem çalışıyor!

Düzeltildi Test Edildi

Setting Tetikleyici Akışı

1

auth_subscription

Ücretli Üyelik Sistemi

Açık ✓
2

auth_device

Cihaz - Session Limiti

Açık ✓
3

auth_device_limit

Cihaz Limit Kontrolü (Fallback)

1

Akış: auth_subscription AÇIK → auth_device AÇIK → Session limit kontrolü BAŞLAR

Cihaz Limiti Fallback Sistemi (3 Seviyeli)

1. User

users.device_limit

$user->device_limit

null ise

2. Plan

subscription_plans.device_limit

$plan->device_limit

null ise

3. Setting

settings.auth_device_limit

setting('auth_device_limit')

Şu Anki Değerler (Tenant: Muzibu)

User #1

NULL

Tanımlı değil

Subscription Plan

NULL

Plan yok veya tanımlı değil

Setting (Fallback)

1

✓ Bu kullanılıyor

LIFO (Last In First Out) Akışı

Senaryo: Device Limit = 1, 4 Farklı Browser ile Login

Chrome Normal, Chrome Gizli, Brave Normal, Brave Gizli → 4 farklı session

1
Chrome Normal - Login
Session #1 ✓
2
Chrome Gizli - Login
Session #1 Session #2 ✓
3
Brave Normal - Login
Session #2 Session #3 ✓
4
Brave Gizli - Login
Session #3 Session #4 ✓

Sonuç

Sadece Brave Gizli (Session #4) aktif. Diğer 3 tarayıcı session_terminated alacak ve logout olacak.

Yapılanlar Tamamlandı

Setting Key Düzeltmesi

TAMAMLANDI

DeviceService.php:37 → auth_device_limit_enabledauth_device

return (bool) setting('auth_device', false); ✓

LIFO Testi (4 Session)

TAMAMLANDI

4 farklı session ile test edildi. Sonuç:

Session 1: terminated
Session 2: terminated
Session 3: terminated
Session 4: valid ✓

Session Check Blade Component

BİLGİ

session-check.blade.php devre dışı bırakılmış.
Player-core.js zaten session polling yapıyor, ayrıca gerek yok.

İnteraktif Demo