Promotic
WikipediaLinkedInYoutubeTwitterFacebook

Předkonfigurace Runtimová správa uživatelů

Administrátorská správa uživatelů za běhu aplikace. Uživatelé s nastavenými právy jsou ukládáni do csv souboru a následně do paměti aplikace.
 
Tato předkonfigurace se vyvolá při zakládání nového objektu (např. volbou "Nový objekt" v lokálním menu objektu nebo stiskem klávesy Insert po označení objektu) a je zařazena ve skupině: " / Obrazy (PmPanel) / Správa uživatelů".

Tuto předkonfiguraci je možné založit nad objektem: PmFolder, PmRoot, PmPanel nebo PmWorkspace.

 
Předkonfigurace obrazu (objektu PmPanel) je vytvořena tak, že je funkční i jako WEB obraz.
 
Předkonfigurace vytvoří tři objekty typu PmPanel. Hlavní obraz je názván "AdminUsers" a má dva podobjekty:
Obraz "EditUsers" je modální okno pro přidání nového uživatele nebo editaci stávajícího.
Obraz "ChangePass" je modální okno pro změnu hesla stávajícího uživatele.
Všechny tyto objekty mají v záložce Oprávnění nastaveny všechny položky pro uživatele skupiny $ADMIN. Hlavní obraz "AdminUsers" slouží k tabulkovému načtení seznamu uživatelů a pomocí funkčních tlačítek k editaci nebo přidání nového uživatele. K jeho otevření se používá metoda OpenView.
 
Hlavní obraz má tyto metody:
Crypt - (pomocná) pro kódování a dekódování přihlašovacího hesla uživatele
GetGroup - (pomocná) k načtení seznamu dostupných skupin uživatelů
GetUsers - (pomocná) k načtení úplného seznamu všech uživatelů (uložených v ini nebo pra)
InitUsers - (důležitá) přidá do běžící aplikace uživatele uložené v csv souboru
LoadUsers - (důležitá) načte pole obsahující všechny uživatele s uživatelskými právy z csv souboru
SaveUsers - (důležitá) uloží pole obsahující všechny uživatele s uživatelskými právy do csv souboru
UserAdd - (důležitá) připraví pole pro uložení s hodnotami aktualizovanými z editace uživatelů
UserChangePass - (důležitá) připraví pole pro uložení se změněnou hodnotou hesla vybraného uživatele
UserRemove - (důležitá) připraví pole pro uložení zmenšené o hodnoty mazaného uživatele

Základní důležitá metoda je InitUsers. Ta pomocí metody AddUser zajistí přidání všech uživatelů uložených v csv souboru do běžící aplikace. Tato metoda je volána vždy při změnách v editaci uživatelů a musí být volána také při spuštění aplikace. Metody LoadUsers a SaveUsers slouží k načtení nebo uložení všech uživatelů a jejich přihlašovacích práv do csv souboru. (Je možne je upravit pro ukládání do tabulky některé z databázi.) V pomocné metodě Crypt jsou použity metody EncryptText a DecryptText, kde lze změnit hodnotu proměnné sSeed pro kódování a dekódování přihlašovacího hesla.

 
Hlavní obraz obsahuje graficky prvek PmTable a několik tlačítek PmiButton. V události onStart tabulky je uveden skript který tabulku naplní seznamem uživatelů získaným z csv souboru. Skript v události CellClicked umožní označení řádku výběru. V události CellEditRequested je oteřeno nové okno EditUsers pro editaci vybraného uživatele. Tlačítka typu PmiButton mají v události onButtonUp uveden skript, který provede požadovanou akci.
 
Obraz EditUsers je otevřen z události CellEditRequested tabulky nebo z tlačítek Přidat nebo Upravit. Samotný obraz obsahuje grafické prvky PmiWEdit, PmiText, PmiButton a PmTable. V události onStart tabulky jsou jednotlivé grafické prvky naplněny údaji editovaného uživatele. Ty pak lze požadovaným způsobem upravit a tlačítkem OK zaslat k uložení uložít.
 
Obraz ChangePass je otevřen z hlavního obrazu z tlačítka Změna hesla. Obraz obsahuje grafické prvky PmiWEdit, PmiText a PmiButton. V události onStart prvku PmiButton jsou do skrytých prvků uloženy původní přihlašovací údaje uživatele. Po zadání údajů nových jsou tyto údaje ve skriptu tlačítka OK porovnány a zaslány k uložení.
Konfigurátory které lze nastavit před vytvořením předkonfigurace:
Název vytvářeného objektuNázev nově vytvořeného objektu ve stromu objektů aplikace. Je to systémový název a nesmí obsahovat prázdný řetězec, diakritiku, mezery a jako první znak nesmí být čislo.

Přednastaveno: "AdminUsers"

OprávněníV této záložce se definují oprávnění pro objekt. Viz Popis záložky Oprávnění.
Člen logických skupinSeznam identifikátorů logických skupin (oddělovač je čárka ','), do nichž objekt patří (je jejich členem), viz Logické skupiny. Výběr logických skupin lze provést v okně Člen logických skupin.

Po vytvoření této předkonfigurace bude takto nastaven konfigurátor: PmObject > Objekt > Člen logických skupin.

Název souboru k uložení práv uživatelůnázev souboru do kterého se budou ukládat uživatelé a jejich přihlašovací práva (přednastaveno) users
Řetězec pro kryptování heslařetezec, například "xyz" sloužící jako semínko metod EncryptText a DecryptText pro kryptování uživatelského hesla.
Povolit jako WEB komponentuUrčuje, zda se má tento objekt zaregistrovat jako komponenta WEB serveru

Po vytvoření této předkonfigurace bude takto nastaven konfigurátor: PmPanel > Web Server > Povolit jako WEB komponentu.

Nastavení skriptovacího jazykaNastavuje typ skriptovacího jazyka (VBScript nebo JavaScript).
vbscript (zastaralé) - Všechny scripty v událostech grafických prvků v tomto obraze budou psány v jazyce VBScript. Umožní funkčnost WEB obrazů pouze pod internet prohlížečem Internet Explorer.

V tomto případě následující konfigurátor Úroveň integrace prohlížečky obrazu a lokální aplikace je viditelný a lze zadat "full" a "client".

javascript - Všechny scripty v událostech grafických prvků v tomto obraze budou psány v jazyce JavaScript. Umožní plnou funkčnost WEB obrazů pod všemi typy standardních internet prohlížečů (Chrome, Firefox, Edge ...).

V tomto případě následující konfigurátor Úroveň integrace prohlížečky obrazu a lokální aplikace není viditelný a je nastavena úroveň "client".

Příklad1:
Příklad volání metody InitUsers při startu aplikace. Skript je nutno umístit do události onAppStartEnd objektu PmRoot.
pMe.Pm("AdminUsers").Methods.InitUsers
Příklad2:
Příklad otevření obrazu AdminUsers z události onButtonUp grafického prvku PmiButton umístěným v jiném obraze. (Obraz bude otevřen pouze přihlášeným uživatelem patřícím do skupiny $ADMIN).
-------------------------
Příklad v syntaxi VBScript:
-------------------------
Příklad v syntaxi JavaScript:
pMe.PmPanel.OpenView("/AdminUsers", "target:_blank;");
© MICROSYS, spol. s r. o.Tavičská 845/21 703 00 Ostrava-Vítkovice