Ana içeriğe geç

Sistem Konsolu — Menü Görünürlüğü

Menü Görünürlüğü (/console/ui-visibility) sayfası, Zeus arayüzündeki ana menü (sidebar) girişlerinin ve seçili sayfa sekmelerinin (tab) hangi kullanıcılara görünür olacağını platform, firma (tenant) ve kullanıcı bazında yönetmenizi sağlar. Örneğin bir müşteri firmada LOTO modülü kullanılmıyorsa, o firmanın tüm kullanıcılarında "LOTO" menüsünü tek kuralla gizleyebilirsiniz.

Bu sayfa kimin için?

Menü Görünürlüğü sayfası yalnızca süper yönetici yetkisine sahip platform operatörlerine açıktır. Firma kullanıcıları bu ekranı görmez; kurallar onların arayüzüne sonuç olarak yansır.

Görünürlük bir güvenlik sınırı DEĞİLDİR

Bir menüyü gizlemek yalnızca arayüzdeki girişini kaldırır. İlgili API uçları RBAC izinleriyle korunmaya devam eder — izni olan bir kullanıcı, menü gizli olsa bile API'ye erişebilir. Erişimi gerçekten kısıtlamak istiyorsanız kullanıcının rol/izinlerini düzenleyin (Ayarlar → Roller & İzinler veya Konsol → Kullanıcılar · RBAC). Görünürlük kuralları sadece arayüzü sadeleştirme aracıdır.


Katman modeli — system → tenant → user

Kurallar üç katmanda tutulur ve birleşim (union) ile uygulanır:

KatmanKapsamÖrnek kullanım
Sistem GeneliPlatformdaki tüm tenant'ların tüm kullanıcılarıPlatform genelinde henüz devreye alınmamış bir modülü herkesten gizle
TenantSeçilen firmanın tüm kullanıcılarıLOTO kullanmayan müşteri firmada LOTO menüsünü gizle
KullanıcıSeçilen tek kullanıcıSadece raporlama yapan kullanıcıya sade bir menü bırak

Bir kullanıcının efektif gizli kümesi üç katmanın birleşimidir:

efektif gizli = system ∪ tenant ∪ user

Bu kısıtlayıcı kademe demektir: üst katmanda gizlenen bir öğe, alt katmanda "görünür" yapılarak geri açılamaz. Konsol ekranı bunu size gösterir — tenant veya kullanıcı görünümündeyken üst katmanda gizli olan satırların anahtarı kilitlenir ve üzerinde "Sistem genelinde gizli" / "Tenant'ta gizli" rozeti görünür.

Hiç kural tanımlanmamış olmak geçerli ve varsayılan durumdur: boş küme, "hiçbir şey gizli değil" anlamına gelir.

Süper yöneticiler muaftır

Görünürlük kuralları süper yöneticilere hiçbir zaman uygulanmaz — bir süper yönetici kendisine kural yazılsa bile her menüyü görmeye devam eder. Böylece yanlış bir kuralla kendinizi yönetim ekranlarından kilitleyemezsiniz.


Neler gizlenebilir? (Katalog)

Gizlenebilir öğeler sabit bir katalogdan gelir (42 öğe). Katalog dışı hiçbir şey gizlenemez:

  • 15 ana menü (sidebar) girişi: Dashboard, Bölgeler, Gateway'ler, Cihazlar, Şarj İstasyonları, OSOS / DSO, Ölçümler, Alarmlar, Raporlar, Ödemeler, Mahsuplaşma, Piyasa Fiyatları, SLD, LOTO, Ayarlar.
  • 13 Ölçümler sekmesi: Tüketim, Üretim, Maliyet, Karşılaştırma, Harita, Reaktif Güç, Reaktif Oran, Akım, CosPhi, Voltaj, THD, Performans, OSOS.
  • 9 Ayarlar sekmesi: Tarifeler, Roller & İzinler, Kullanıcılar, Modbus Cihazlar, Gateway Provisioning, Zigbee Gateway, OCPP, Bildirim Rehberi, Genel Ayarlar.
  • 5 Şarj İstasyonu detay sekmesi: Genel Bakış, Konnektörler, Canlı Veri, Komutlar, Şarj Profilleri.

Katalog dışı kalan yönetim girişleri (Firmware, Toplu OTA, WhatsApp Bridge, Sistem Konsolu) görünürlük kurallarından etkilenmez — bunlar zaten izin/superadmin koşullarıyla yönetilir.


Ekranın kullanımı

1. Kapsam (scope) seçin

Üstteki sekmelerden birini seçin:

  • Sistem Geneli — hedef seçimi gerekmez; kural tüm platforma uygulanır.
  • Tenant — açılan listeden bir tenant seçin.
  • Kullanıcı — önce tenant, sonra o tenant'ın kullanıcı listesinden bir kullanıcı seçin.

Hedef seçilmeden ağaç gösterilmez; ekran sizi bilgilendirir.

2. Ağaçta görünürlüğü düzenleyin

Her satırda bir anahtar (switch) bulunur:

  • Açık = öğe görünür (gizli listesinde değil).
  • Kapalı = öğe bu katmanda gizli.

Ölçümler, Ayarlar ve Şarj İstasyonları satırlarının altında girintili sekme satırları listelenir. Sekmeleri olan menülerde satır sonunda "Tümünü gizle" / "Tümünü göster" düğmesi ile tüm alt sekmeleri tek tıklamayla değiştirebilirsiniz (üst katmanda kilitli sekmelere dokunulmaz).

Üst katmanda gizlenmiş öğelerin anahtarı devre dışıdır ve nedenini açıklayan rozet gösterilir — bu öğeleri ancak ilgili üst katmandan (Sistem Geneli veya Tenant görünümü) geri açabilirsiniz.

3. Önizlemeyi kontrol edin

Sağdaki önizleme paneli, seçili hedef için üç katmanın birleşimini gösterir: "Bu kullanıcı şunları GÖREMEYECEK: …". Kaydedilmemiş değişiklikleriniz de önizlemeye dahildir (panel bunu ayrıca belirtir).

4. Kaydedin

Kaydet düğmesi yalnızca değişiklik yaptığınızda aktifleşir; Sıfırla düğmesi kaydedilmemiş değişiklikleri geri alır. Kaydetme, seçili katmanın listesini bütün olarak yazar; boş listeye indirmek kuralı tamamen kaldırır.

Kaydetmeden önce yumuşak uyarılar

Aşağıdaki durumlarda kayıt engellenmez, ancak bir onay penceresi açılır ("Yine de kaydet" ile devam edebilirsiniz):

  • Dashboard gizleniyor — kullanıcılar girişte ilk görünür menüye yönlendirilir.
  • Bir menünün TÜM alt sekmeleri gizleniyor — davranış aşağıda ("Arayüzde nasıl yansır?").
  • Seçili kapsamda TÜM ana menüler gizleniyor — etkilenen kullanıcılar menüsüz kalır ve bir bilgi kartı görür.

Arayüzde nasıl yansır?

Kurallar etkilenen kullanıcının arayüzünde şu davranışları üretir:

  • Gizli sidebar girişi menüden kaldırılır (masaüstü ve mobil menüde aynı şekilde). Kullanıcı gizli bir sayfanın adresine doğrudan giderse, ilk görünür menüye yönlendirilir.
  • Dashboard gizliyse giriş sonrası açılış sayfası (landing), menüdeki ilk görünür öğe olur.
  • Hiçbir menü görünmüyorsa kullanıcı boş sayfa yerine durumu açıklayan bir bilgi kartı görür (yönlendirme döngüsü oluşmaz).
  • Gizli sekme (Ölçümler / Ayarlar / Şarj İstasyonu detayı) sekme çubuğundan kaldırılır. Varsayılan sekme gizliyse sayfa ilk görünür sekmeyi açar. Bir gizli sekmeye doğrudan gidilse bile (Ayarlar'da ?tab=<sekme> sorgusuyla, Ölçümler'de sekmenin kendi sayfa adresiyle, Şarj İstasyonu detayında ise adres sekme taşımaz — ilk görünür sekme otomatik açılır) sonuç aynıdır: kullanıcı ilk görünür sekmeye düşer.
  • Tüm sekmeleri gizlenen Ölçümler ve Ayarlar menüleri otomatik olarak menüden de gizlenir (sekmesiz boş sayfa gösterilmez). Şarj İstasyonları bu kuralın istisnasıdır: 5 detay sekmesinin tümü gizlense bile istasyon liste sayfası menüde kalır (liste, sekmelerden bağımsız olarak değerlidir); detay sayfası bu durumda bilgi kartı gösterir.
  • Görünürlük filtresi RBAC ile birlikte (VE koşulu) çalışır: izni olmayan kullanıcı, öğe "görünür" olsa bile onu zaten görmez.
Değişiklikler ne zaman yansır?

Kurallar sunucu tarafında kısa süre önbelleklenir. Kullanıcı uygulama içinde gezindikçe profili en geç ~5 dakikada bir tazelenir; bu nedenle bir kural değişikliği etkilenen kullanıcıya yaklaşık 5 dakika içindeki bir sonraki gezinmede yansır. Tek bir sayfada hareketsiz kalan kullanıcıya değişiklik, o sayfadan ayrılıp gezindiği ilk anda görünür. Kullanıcı sayfayı yenileyip yeniden giriş yaparsa hemen görür.


Denetim kaydı (audit)

Her kural değişikliği, Konsol → Audit · Güvenlik ekranında ui_visibility_update eylemi olarak kayda geçer; eklenen ve çıkarılan anahtarlar (added/removed) fark olarak saklanır. Kim, ne zaman, hangi kapsamda hangi menüleri gizledi — geriye dönük izlenebilir.


Sık sorulanlar

Menüyü gizledim ama kullanıcı API'den veri çekmeye devam ediyor? Beklenen davranış — görünürlük güvenlik sınırı değildir. Erişimi kesmek için kullanıcının rol/izinlerini düzenleyin.

Tenant görünümünde bir öğenin anahtarı neden kilitli? O öğe Sistem Geneli katmanında gizlenmiş. Union semantiği gereği alt katman üst katmanı geri açamaz; önce Sistem Geneli görünümünden açmanız gerekir.

Süper yöneticiye kural yazdım, neden etkilenmiyor? Süper yöneticiler tasarım gereği muaftır — kural saklanır ama uygulanmaz.

Kuralı nasıl tamamen kaldırırım? İlgili kapsamda tüm anahtarları "görünür" yapıp kaydedin; boş liste kural kaydını siler.