Konfigurace menu WebTerminálu podle IP adresy

Konfigurace menu WebTerminálu podle IP adresy

WebTerminal umožňuje pro různé IP adresy klientů zobrazit odlišnou sadu položek v hlavním menu aplikace. Konfigurace se provádí v evidenci Uložiště klíč-hodnota v desktop admin aplikaci TechIS. Předpokladem je aktivní licence WebTerminal a nastavená adresa WebTerminálu v konfiguraci systému.

Kdy funkci použít

Funkce je vhodná například pro:

  • omezení nabídky modulů na veřejných nebo sdílených terminálech,

  • odlišné menu pro různé provozy nebo sítě (např. výroba, helpdesk, kancelář),

  • zobrazení jen vybraných modulů při přístupu z konkrétní IP adresy.

Jak to funguje

Při startu WebTerminal:

  1. získá IP adresu klienta voláním OData služby GetIP(),

  2. načte konfiguraci z úložiště klíč-hodnota pod klíčem //wt-menu-items,

  3. vyhledá seznam položek menu pro zjištěnou IP adresu; pokud pravidlo pro danou IP neexistuje, použije se klíč default,

  4. zobrazí v menu pouze položky uvedené v příslušném seznamu a v daném pořadí.

Filtrování menu probíhá podle síťové IP adresy klienta, nikoli podle přihlášeného uživatele nebo jeho role. Skrytí položky v menu neznamená automatické odebrání oprávnění k datům v OData službě.

Nastavení konfigurace

  1. Otevřete admin desktop aplikaci TechIS.

  2. V navigaci přejděte na Rozšíření produktuUložiště klíč-hodnota.

  3. Najděte nebo vytvořte záznam s klíčem //wt-menu-items.

  4. Do pole Hodnota vložte konfiguraci ve formátu JSON (viz níže).

  5. Změny uložte.

  6. Ověřte chování z příslušné IP adresy (např. z jiné sítě nebo po obnovení stránky WebTerminálu).

Úpravy záznamů úložiště klíč-hodnota přes WebApi nejsou podporovány; konfiguraci provádí pouze administrátor v desktop aplikaci.

Formát hodnoty

Hodnota záznamu //wt-menu-items je JSON objekt. Každý klíč objektu představuje IP adresu klienta nebo výchozí konfiguraci. Hodnotou je pole technických identifikátorů položek menu.

{ "default": ["Dashboard", "Tickets", "WorkOrders", "ProductionOrders", "Assets", "Persons", "storageItemPacks", "Stats", "Revision", "ServiceDesk"], "127.0.0.1": ["Dashboard", "Tickets", "Assets", "Revision"], "10.20.30.40": ["Tickets", "WorkOrders", "ServiceDesk"] }

Prvek

Význam

Prvek

Význam

default

Povinný klíč. Seznam položek menu použitý, pokud pro zjištěnou IP adresu neexistuje vlastní pravidlo.

"x.x.x.x"

Seznam položek menu zobrazených klientům s danou IPv4 adresou.

Hodnoty v poli

Technické identifikátory položek menu WebTerminálu (ne české názvy v aplikaci).

Pořadí v poli

Pořadí zobrazení položek v menu.

Dostupné položky menu

Identifikátor (do JSON)

Modul v aplikaci

Identifikátor (do JSON)

Modul v aplikaci

Dashboard

Přehled

Tickets

Tikety

WorkOrders

Pracovní příkazy

ProductionOrders

Výrobní příkazy

Assets

Majetek

Persons

Osoby

storageItemPacks

Skladové balíčky

Stats

Statistiky

Revision

Revize

ServiceDesk

Service Desk

Příklady konfigurace

Helpdesk terminál s omezeným menu:

{ "default": ["Dashboard", "Tickets", "WorkOrders", "Assets", "Persons"], "192.168.10.50": ["Tickets", "ServiceDesk"] }

Vývojové prostředí (localhost):

{ "default": ["Dashboard", "Tickets", "Assets"], "127.0.0.1": ["Dashboard", "Tickets", "WorkOrders", "ProductionOrders", "Assets", "Persons", "Stats", "Revision", "ServiceDesk"] }

Řešení problémů

Problém

Možná příčina

Řešení

Problém

Možná příčina

Řešení

Menu se nemění

Neplatný JSON

Ověřte syntaxi hodnoty záznamu.

Vždy se zobrazí výchozí menu

IP adresa se neshoduje s konfigurací

Ověřte skutečnou IP adresu klienta voláním GetIP() na OData službě.

Chybí očekávaná položka

Špatný identifikátor v JSON

Použijte technický identifikátor z tabulky výše, ne český název modulu.

Za reverzní proxy jiná IP

Proxy nepředává IP klienta

Nastavte správné předávání IP adresy na aplikačním serveru / WebApi.

Související konfigurace