Ana içeriğe geç

Hedef Kullanıcılar

IQV API Middleware, backend'den gelen kullanıcı nesnesindeki bir rol alanını (role, user_role, userRole, role_name, roleName alanlarından ilk dolu olanı) okuyarak erişimi sınırlandırır. Bu mantığın tek kaynağı dashboard/src/routes/roleAccess.tsx dosyasıdır; hem kenar menüsü hem de rota koruması aynı fonksiyonları kullanır.

Kaynak kodda fiilen uygulanan tek rol ayrımı, rol değerinin tam olarak user olup olmadığıdır. Aşağıdaki tablo bunu ve arayüzde yalnızca görsel etiket amacıyla tanımlı rol adlarını (erişim kısıtlaması taşımayan) birlikte gösterir.

Rol Erişilebilir alanlar İzin verilen işlemler Erişim sınırı
user (Kullanıcı) Yalnızca Platformlar (/platform); kenar menüsünde tek seçenek olarak gösterilir. Hatırlatıcı ve Mail Box rotaları menüde yer almaz ama doğrudan adres çubuğundan da erişilemez değildir — rol bazlı bir engelleri yoktur, yalnızca menüde görünmezler. Platform modüllerini görüntüleme ve modül kartlarına tıklayarak yönlendirme. Notlar (/notlar) ve Ayarlar (/ayarlar) rotalarına doğrudan adresle gidilse bile RequirePlatformAccess koruması devreye girer ve kullanıcı sayfa hiç render edilmeden /platform'a yönlendirilir.
companyadmin, organizationadmin, admin, superadmin (veya rol alanı boşsa) Kenar menüsündeki tüm sayfalar: Platformlar, Notlar, Ayarlar. Hatırlatıcı/Mail Box menüde yok ama doğrudan adresle erişilebilir (herhangi bir oturum açmış kullanıcı için geçerlidir, role özel değildir). Tüm not/hatırlatıcı/platform modülü CRUD işlemleri, e-posta ile paylaşım, platform sıralaması kaydetme. Kod tabanında bu roller arasında ayrı bir kısıtlama tanımlı değildir — hepsi aynı, tam erişime sahiptir. companyadmin/organizationadmin etiketleri yalnızca kullanıcı adı altında görüntülenen rozet metnini belirler (bkz. aşağıda), erişimi etkilemez.

Önemli notlar

  • Oturum şartı: Yukarıdaki rollerden bağımsız olarak, /login dışındaki tüm sayfalar RequireAuth koruması altındadır; oturumu olmayan (Redux admin state'i boş olan) her ziyaretçi /login'e yönlendirilir.
  • Rozet metni yalnızca görsel amaçlıdır: Kenar menüsündeki kullanıcı rozetinde companyadmin → "Şirket Admini", organizationadmin → "Organizasyon Admini", user → "Kullanıcı" gösterilir; tanınmayan veya admin/superadmin gibi eşlenmemiş bir rol her zaman "Kullanıcı" etiketiyle gösterilir — bu, erişim düzeyini YANSITMAZ, yalnızca bir görüntüleme metnidir.
  • Kod tabanında admin/superadmin için ayrı, daha geniş bir yetki tanımlanmamıştır; bu isimler yalnızca roleAccess.tsx içindeki bir yorumda "user dışındaki her şey" anlamında anılır.