Administracja użytkowników podczas biegu aplikacji. Użytkownicy z ustawionymi uprawnieniami są zapisywanie do pliku
CSV a następnie do pamięci aplikacji.
Niniejsza konfiguracja wstępna zostanie wywołana przy założeniu nowego obiektu (np. przy pomocy opcji
"Nowy obiekt ..." w menu kontekstowym obiektu lub naciśnięciem klawisza
Insert po zaznaczeniu obiektu).
Niniejsza konfiguracja wstępna jest przyszeregowana w grupie
"/ Panele (PmaPanel) / Pozostałe".
Taką konfigurację wstępną można wytworzyć w obiekcie
PmaFolder,
PmaRoot,
PmaPanel,
PmaWorkspace lub
PmaPrototype.
Konfiguracja wstępna panela (obiekt typu
PmaPanel) działa również jako
Web panel.
Konfiguracja wstępna wytworzy trzy obiekty
PmaPanel. Główny panel jest nazwany
"AdminUsers" i posiada dwa podobiekty:
Panel "
EditUsers" przedstawia
Okno modalne do dodania nowego lub edycji istniejącego użytkownika.
Panel "
ChangePass" przedstawia
Okno modalne służący do zmiany hasła istniejącego użytkownika.
Wszystkie te obiekty mają w karcie "
Uprawnienia" ustawione wszystkie pozycje dla użytkowników grupy
$ADMIN. Panel "
AdminUsers" służy do wczytania listy użytkowników do tabeli i przy pomocy przycisków funkcjonalnych do edycji lub dodania nowego użytkownika. Do jego otworzenia jest stosowana metoda
CreateView.
Główny panel posiada następujące metody:
Crypt - (pomocnicza) do szyfrowania i deszyfrowania hasła użytkownika
GetGroup - (pomocnicza) do wczytania listy dostępnych grup użytkowników
GetUsers - (pomocnicza) do wczytania pełnej listy wszystkich użytkowników (zapisanych w pliku ini lub pra)
InitUsers - (ważna) doda do uruchomionej aplikacji użytkowników zapisanych X pliku CSV
LoadUsers - (ważna) wczyta tablicę zawierającą wszystkich użytkowników z uprawnieniami użytkowników z pliku CSV
SaveUsers - (ważna) zapisze tablicę zawierającą wszystkich użytkowników z uprawnieniami użytkowników do pliku CSV
UserAdd - (ważna) przygotuje do zapisania tablicę z wartościami zmienionymi przez edycję użytkowników
UserChangePass - (ważna) przygotuje do zapisania tablicę ze zmienioną wartością hasła wybranego użytkownika
UserRemove - (ważna) przygotuje do zapisania tablicę zmniejszoną o dane usuwanego użytkownika
Podstawową metodą jest metoda
"InitUsers". Przy pomocy metody
AddUser zapewni ona dodanie wszystkich użytkowników zapisanych w pliku
CSV do uruchomionej aplikacji. Metoda ta jest wywołana zawsze podczas zmianach w edycji użytkowników i musi być również wywołana po uruchomieniu aplikacji. Metody projektanta
LoadUsers oraz
SaveUsers służy do wczytania lub do zapisania
wszystkich użytkowników oraz ich uprawnień do pliku CSV. (Jest możliwa ich zmiana do zapisu danych użytkowników do tabeli w niektórej z baz danych.) W metodzie pomocniczej
Crypt są zastosowane metody
EncryptText oraz
DecryptText, gdzie można zmienić wartość zmiennej
sSeed do szyfrowania i deszyfrowania hasła użytkownika.
Główny panel zawiera obiekt
PmgWTable oraz kilka przycisków
PmgButton. W zdarzeniu
onStart tabeli znajduje się skrypt, który wypełni tabelkę listą użytkowników uzyskaną z pliku CSV. Skrypt w zdarzeniu
onCellClicked umożliwia zaznaczenie wybranego wiersza. W zdarzeniu
onCellEditRequested jest otwarte nowe okno
EditUsers do edycji wybranego użytkownika. Przyciski typu
PmgButton posiadają w zdarzeniu
onButtonUp skrypt, który wykona wymaganą czynność.
Panel "
EditUsers" jest otwierany w zdarzeniu
onCellEditRequested tabeli lub przycisków
Dodaj lub
Edytuj. Właściwy panel zawiera obiekty
PmgWEdit,
PmgString,
PmgButton oraz
PmgWTable. W zdarzeniu
onStart tabeli są poszczególne obiekty napełnione danymi edytowanego użytkownika. Dane te można w wymagany sposób zmienić i przy pomocy przycisku "
OK" potwierdzić i zapisać.
Panel
ChangePass jest otwierany z panelu głównego przy pomocy przycisku "
Zmiana hasła". Panel zawiera obiekty
PmgWEdit,
PmgString oraz
PmgButton. W zdarzeniu
onStart obiektu
PmgButton są do niewidocznych
Pmg obiektów graficznych zapisane oryginalne dane do logowania użytkownika. Po wprowadzeniu nowych danych są one porównane i przesłane do zapisania w skrypcie przycisku
OK.
Konfiguratory, które można ustawić przed wytworzeniem konfiguracji wstępnej:
Nazwa wytwarzanego obiektu | Nazwa nowo wytworzonego obiektu w drzewie Pma obiektów.
Maksymalna długość nazwy wynosi 30 znaków.
Jest to nazwa systemowa, może zawierać tylko znaki alfanumeryczne oraz nie może zawierać znaki diakrytyczne (tzn. narodowo zależne znaki), pusty łańcuch, spacje oraz pierwszy znak nie może być liczba.
Domyślnie: "AdminUsers" |
|
Uprawnienia | W tej karcie można zdefiniować uprawnienia obiektu. Patrz karta "Uprawnienie" obiektu PmaObject. |
Członek grup logicznych | Lista identyfikatorów grup logicznych (separatorem jest przecinek ','), do których obiekt należy (jest ich członkiem), patrz okno konfiguracyjne "Grupy logiczne".
Wyboru grup logicznych można dokonać w oknie "Członek grup logicznych".
Po wytworzeniu konfiguracji wstępnej konfigurator "PmaObject > Obiekt > Członek grup logicznych" zostanie ustawiony na daną wartość. |
Nazwa pliku do zapisania uprawnień użytkowników | Nazwa pliku, do którego będą zapisywane dane użytkowników i ich uprawnienia (domyślnie) users |
Łańcuch tekstowy do zakodowania hasła | łańcuch, na przykład "xyz" służący jako nasionko metod EncryptText oraz DecryptText do zakodowania hasła użytkowników. |
|
Zezwól jako komponent WEBowy | Określa, czy obiekt ten ma być zarejestrowany jako komponent Web serwera
Po wytworzeniu konfiguracji wstępnej konfigurator "PmaPanel > Web serwer > Zezwól jako komponent WEBowy" zostanie ustawiony na daną wartość. |
---|
Przykład1:
Przykład wywołania metody
"InitUsers" przy uruchamianiu aplikacji. Skrypt powinien zostać ulokowany do zdarzenia
onAppStartEnd obiektu
PmaRoot.
Przykład2:
Przykład otworzenia panela
AdminUsers w zdarzeniu
onButtonUp obiektu
PmgButton ulokowanego w innym panelu. (Panel zostanie otwarty tylko przez zalogowanego użytkownika należącego do grupy użytkowników
$ADMIN).
JavaScriptVBScriptWybierz oraz skopiuj do schowka
var oCreator = Pm.CreateView(null, "/AdminUsers", "", "target:_blank;");
oCreator.Open();
Dim oCreator
Set oCreator = Pm.CreateView(Empty, "/AdminUsers", "", "target:_blank;")
oCreator.Open