Promotic

Użytkownicy, grupy użytkowników, uprawnienia oraz system logowania

System użytkowników umożliwia projektantowi wytwarzać zabezpieczone aplikacje PROMOTIC.
W systemie PROMOTIC jest wbudowany system logowania (uwierzytelnienie) lokalnych i sieciowych użytkowników do uruchomionej aplikacji. Jeżeli powstanie zapotrzebowanie (lokalne lub sieciowe) na wykonanie zabezpieczonej czynności, wtedy czynność ta zostanie wykonana tylko jeżeli odpowiedni zalogowany użytkownik posiada wymagane uprawnienie (należy do odpowiednich grup użytkowników)(upoważnienie). Jeżeli użytkownik nie posiada takiego uprawnienia, wtedy operacja zakończy się niepowodzeniem i wyświetleniem dialogu o błędzie.

Użytkownik loguje się do systemu PROMOTIC lokalnie lub sieciowo oraz musi zostać uwierzytelniony (sprawdzenie nazwy oraz hasła użytkownika). Po poprawnym uwierzytelnieniu użytkownika w systemie PROMOTIC jest wytworzony konkretny zalogowany użytkownik (lokalny lub sieciowy) reprezentowany obiektem PmUser.
 
Podczas logowania dwu użytkowników zgodną nazwą oraz hasłem z dwu różnych komputerów, powstaną dwaj zalogowani użytkownicy różniący się adresem IP. Lista aktualnie zalogowanych użytkowników jest dostępna w INFO systemie oraz można ją również uzyskać przy pomocy metod Pm.LoggedUser oraz Pm.GetUserInfo. Odniesienie do aktualnie zalogowanego użytkownika zawiera również: Powiązanie danych UP - Powiązanie danych z właściwością zalogowanego użytkownika.
 
Z zalogowanym użytkownikiem jest powiązana lista "grup użytkowników", do których zalogowany użytkownik należy. Dla zalogowanego użytkownika jest ta lista "grup użytkowników" kluczowa, ponieważ reprezentuje jego uprawnienia dla różnych czynności (operacje chronione). W przypadku operacji chronionych zamieszczana jest lista "grup użytkowników", którzy posiadają uprawnienia do wykonania takiej operacji. Czyli poprzez zaszeregowanie użytkownika do pojedyńczych "grup użytkowników" określa się, co dany użytkownik w aplikacji może lub nie może wykonywać.

Pojęcia podstawowe:
- Uwierzytelnienie: Proces uwierzytelnienia (zalogowanie) użytkownika (na przykład przy pomocy nazwy oraz hasła).
- Upoważnienie: Proces kontroli czy dany uwierzytelniany (zalogowany) użytkownik ma uprawnienie coś wykonywać (na przykład przy pomocy grup użytkowników).


Podsystem składa się z następujących części logicznych:

1) Grupy użytkowników: Umożliwia wytworzenie listę wszystkich grup logicznych użytkowników aplikacji (np. $ADMIN, $OPER, GUESTS itd.). W środowisku deweloperskim konfiguracja jest wykonywana w karcie "Użytkownicy". Dla każdego zalogowanego użytkownika jest ważnym, do których grup użytkowników jest przypisany. Ponieważ zabezpieczenie aplikacji wykonywane jest w oparciu o te grupy użytkowników (a nie w oparciu o konkretnych użytkowników), następne dodawanie oraz usuwanie użytkowników (również w runtime) można wykonywać bez zmiany aplikacji.
2) Użytkownicy:
a) PROMOTIC użytkownicy: Uwierzytelnienie użytkownika lokalnego oraz użytkownika sieciowego wykonuje PROMOTIC. Umożliwia wytworzenie listy wszystkich PROMOTIC użytkowników aplikacji wraz z określeniem rodzaju użytkownika (użytkownik lokalny oraz/lub użytkownik sieciowy), oraz ustawienie hasła dostępu użytkowników i określenie przynależności użytkowników do poszczególnych grup użytkowników.
W środowisku deweloperskim konfiguracja jest wykonywana w karcie "Użytkownicy", w uruchomionej aplikacji przy pomocy metody Pm.WndEditUsers w oknie edycji użytkowników lub bezpośrednio przy pomocy metod Pm.AddUser oraz Pm.RemoveUser.
b) Windows użytkownicy: Uwierzytelnienie użytkownika lokalnego oraz użytkownika sieciowego wykonuje Windows. Umożliwia do zalogowania wykorzystać nazwę oraz hasło użytkownika Windows (w domenie). Następnie można wykorzystać listę lokalnych oraz globalnych grup użytkowników Windows (do których użytkownik Windows należy) do wytworzenia listy grup użytkowników.
W każdej grupie użytkowników można określić nazwę ekwiwalentnej grupy użytkowników Windows. Zalogowany użytkownik, który został uwieżytelniony w Windows, w systemie PROMOTIC się już niczym nie różni od zalogowanego użytkownika PROMOTIC. Koncepcja ta umożliwia następną administrację pojedyńczych użytkowników aplikacji, określenie ich uprawnień wykonać przy pomocy środków Windows (domeny, Active Directory, itd.). Administrację pojedyńczych użytkowników już nie wykonuje system PROMOTIC.
3) Uprawnienia w chronionych operacjach aplikacji: Umożliwia zabezpieczenie krytycznych części aplikacji przed nieuprawnioną ingerencją użytkowników aplikacji (na przykład otworzenie lub zamknięcie panela, zatrzymanie aplikacji, itd.)
Uprawnienia można ustawiać w karcie "Uprawnienia" poszczególnych obiektów (na przykład Uprawnienia, patrz: karta "Uprawnienie").
Przy ustawianiu uprawnień dla poszczególnych operacji wykorzystuje się grupy użytkowników.
4) Logowanie użytkowników lokalnych aplikacji (uwierzytelnienie użytkownika lokalnego).
5) Logowanie użytkowników sieciowych aplikacji (uwierzytalnienie użytkownika sieciowego).
6) Weryfikacja uprawnień zalogowanego użytkownika do wykonania zapezpieczonej operacji.

Logowanie użytkowników lokalnych aplikacji (uwierzytelnienie użytkownika lokalnego)

Umożliwia lokalnym operatorom uruchomionej aplikacji zalogować się przy pomocy środków PROMOTIC jako użytkownik lokalny aplikacji przy pomocy przydzielonej nazwy i hasła użytkownika i w ten sposób uzyskać uprawnienia według swojego członkowstwa w poszczególnych grupach użytkowników. W uruchomionej aplikacji użytkownik lokalny może się zalogować z paska narzędziowego lub projektant aplikacji może przygotować inny mechanizm aktywacji lokalnego logowania (chodzi o wołanie metody Pm.WndLogon lub Pm.Logon).
Zalogowanie użytkownika lokalnego zakończy się sukcesem lub niepowodzeniem jako całość.
Jeżeli zakończy się powodzeniem, wtedy zostanie wylogowany poprzedni użytkownik lokalny i jest zalogowany nowy użytkownik.
Jeżeli zakończy się niepowodzeniem, wtedy zostanie zalogowany poprzedni użytkownik lokalny.

Systemowy zastępczy niezalogowany użytkownik lokalny $NOUSER_LOCAL:
Przy odlogowaniu użytkownika lokalnego zostaje automatycznie zalogowany użytkownik $NOUSER_LOCAL, który przedstawia odlogowanego (niezalogowanego) użytkownika lokalnego. W ten sposób jest zapewnione, że w systemie jest zawsze zalogowany niektóry z użytkowników lokalnych (rzeczywisty lub zastępczy). Użytkownik $NOUSER_LOCAL zawsze obecny w aplikacji, nie można go usunąć ani zmienić jego nazwy, lecz można ustawiać jego zawartość. Użytkownik $NOUSER_LOCAL jest zwykłzm użytkownikiem, z punktu widzenia ustawiania członkowstwa w grupach użytkowników (stosowanych do uwierzytelniania uprawnień) i ustawień priorytetu. Można go przyszeregować do dowolnej grupy użytkowników a w ten sposób zapewnić konkretne wyjściowe uprawnienie również dla niezalogowanego użytkownika.

Obiekt PmUser w aplikacji lokalnej:
W uruchomionej aplikacji trwale istnieje jeden obiekt typu PmUser, który przedstawia bieżąco zalogowanego użytkownika lokalnego. Obiekt ten utrzymuje runtime informacje zalogowanego użytkownika (na przykład prywatne dane użytkownika) oraz utrzymuje odniesienie do ustawień odpowiedniego użytkownika lokalnego (na przykład nazwa, człoknowstwo w grupach użytkowników, priorytet) (patrz Użytkownicy). W przypadku odlogowanego użytkownika lokalnego jest utrzymywane odniesienie do użytkownika $NOUSER_LOCAL.
Podczas weryfikacji uprawnienia do wykonania czynności w aplikacji lokalnej jest wykorzystany opisywany obiekt PmUser (bieżący zalogowany rzeczywisty lub zastępczy użytkownik lokalny). Czynność zostanie wykonana tylko jeżeli użytkownik (obiekt PmUser) spełni wymagane uprawnienia. W innym przypadku zostaje odrzucona z odpowiednim ostrzeżeniem.

Logowanie użytkowników sieciowych aplikacji (uwierzytalnienie użytkownika sieciowego)

Nazwa oraz hasło użytkownika jest przesyłane z każdym zapotrzebowaniem sieciowym.
Jeżeli klientem odległym jest przeglądarka internetowa (Chrome, Firefox, Edge, InternetExplorer ...) i wyświetla strony HTML wytwarzane przy pomocy obiektu PmaWeb, wtedy przy próbie wyświetlenia strony zabezpieczonej użytkownik jest wezwany standardowym oknem do wprowadzenia nazwy użytkownika sieciowego i hasła, które są automatycznie przesyłane aplikacji PROMOTIC z zapotrzebowaniem.
Jeżeli głównym oknem aplikacji sieciowej jest obszar roboczy (obiekt PmaWorkspace), wtedy obsługa uruchomionej aplikacji sieciowej może przy pomocy środków systemu PROMOTIC zalogować jako użytkownik sieciowy przy pomocy przydzielonej nazwy oraz hasła, a tym uzyskać odpowiednie upoważnienia według zaszaregowania do grup użytkowników.
Jeżeli klietem odległym jest kliencka aplikacja PROMOTIC, wtedy nazwa użytkownika sieciowego i hasło wprowadza się bezpośrednio w poszczególnych elementach, które umożliwiają podłączenie do odległego elementu Web serwer (na przykład w parametrach metody PmaData.ReadFromWeb, itd.).
Web serwer PROMOTIC również automatycznie określi adres IP klienta sieciowego. System PROMOTIC potem wykorzysta nazwę użytkownika, hasło i adres IP użytkownika sieciowego do uwierzytelnienia do danej operacji.

Systemowy zastępczy niezalogowany użytkownik sieciowy $NOUSER_NET:
Jeżeli zostanie odebrane zapotrzebowanie bez nazwy i hasła, wtedy zostanie automatycznie zalogowany użytkownik $NOUSER_NET, który przedstawia niezalogowanego użytkownika sieciowego. W ten sposób można zapewnić, że każde odebrane zapotrzebowanie będzie wykonane dla konkretnego zalogowanego użytkownika sieciowego (rzeczywistego lub zastępczego). Użytkownik $NOUSER_NET zawsze obecny w aplikacji, nie można go usunąć ani zmienić jego nazwy, lecz można ustawiać jego zawartość. Użytkownik $NOUSER_NET jest zwykłzm użytkownikiem, z punktu widzenia ustawiania członkowstwa w grupach użytkowników (stosowanych do uwierzytelniania uprawnień) i ustawień priorytetu. Można go przyszeregować do dowolnej grupy użytkowników a w ten sposób zapewnić konkretne wyjściowe uprawnienie również dla niezalogowanego użytkownika.

Rygorystyczny i nierygorystyczny tryb logowania:
Istnieją dwa tryby logowania użytkowników sieciowych do aplikacji: tryb rygorystyczny i nierygorystyczny (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła").
W przypadku trybu rygorystycznego użytkownik $NOUSER_NET nie ma żadnego sensu, ponieważ tryb rygorystyczny wymusi zalogowanie rzeczywistego użytkownika jeszcze przed właściwą weryfikacją uprawnień.
W przypadku trybu nierygorystycznego zostanie wykorzystany użytkownik $NOUSER_NET dla każdego sieciowego zapotrzebowania bez nazwy użytkownika i hasła (niezalogowany użytkownik) patrz Przykład nierestrykcyjnego ustawienia Webowego.

Wytworzenie obiektu PmUser podczas opracowywania uprawnienia zapotrzebowania:
Podczas opracowywania zapotrzebowania jest wytworzony obiekt typu PmUser, który przedstawia zalogowanego (lub zastępczego niezalogowanego) użytkownika. Obiekt ten utrzemuje runtime informacje zalogowanego użytkownika (na przykład prywatne dane użytkownika) oraz utrzymuje również odniesienie do ustawień odpowiednich użytkowników sieciowych (jednego lub dwu) (na przykład nazwa, członkowstwo w grupach użytkowników, priorytet) (patrz Użytkownicy). W przypadku niezalogowanego użytkownika sieciowego utrzymuje odniesienie do użytkownika $NOUSER_NET. Przy sprawdzaniu uprawnienia czynności w aplikacji sieciowej zostanie wykorzystany opisywany obiekt PmUser (bieżący zalogowany lub niezalogowany użytkownik sieciowy i ewentualnie użytkownik określony przez adres IP). Czynność zostanie wykonana tylko jeżeli użytkownik (obiekt PmUser) spełni wymagane uprawnienia. W innym przypadku zostaje odrzucona z odpowiednim ostrzeżeniem.
Istnieją dwa rodzaje użytkowników sieciowych z punktu widzenia ich konfiguracji:
1) Użytkownicy z określoną nazwą i hasłem (ewentualnie także z adresem IP). W trybie nierygorystycznym do tej grupy użytkowników należy także niezalogowany użytkownik $NOUSER_NET.
2) Użytkownicy określeni tylko przez adres IP.

Ważnym jest, że zapotrzebowanie sieciowe może odpowiadać równocześnie dwom użytkownikom. Jednemu typu 1 (nazwa oraz hasło) i drugiemu typu 2 (tylko adres IP). Jeżeli zapotrzebowanie dotyczy równocześnie obu użytkowników, wtedy przy weryfikacji uprawnienia wystarczy, jeżeli jeden z nich posiada uprawnienie. Obiekt PmUser, który przedstawia zalogowanego (lub zastępczego niezalogowanego) użytkownika utrzymuje wtedy odniesienie do konfiguracji obu odpowiadających użytkowników sieciowych. Właściwości i metody następnie zwracają różne wartości dopasowane według kontextu (ważniejszy z obu obiektów, zespolenie wartości, itd.).
W aplikacji może być równocześnie w jednej chwili zalogowanych kilka użytkowników sieciowych (obiekty PmUser). Ilość równocześnie zalogowanych użytkowników sieciowych na serwerze PROMOTIC ogranicza w zasadzie tylko ilość zakupionych licencji dla klientów sieciowych.

Bardziej szczegółowy opis sposobu współdziałania pomiędzy klientem i serwerem przy uwierzytalnianiu klienta:
Dla klienta typu aplikacja PROMOTIC jest obowiązujące, że każde zapotrzebowanie jest automatycznie przesyłame z wprowadzoną nazwą i hasłem użytkownika.
Dla klienta typu przeglądarka internetowa są obowiązujące następujące zasady:
1) Jest lub nie jest zalogowany (nazwą i hasłem) do serwera PROMOTIC.
2) Zapamiętuje wszystkie odwiedzone strony na serwerze i przy każdym następnym dostępie na te strony automatycznie przesyła równocześnie z zapotrzebowaniem także nazwę oraz hasło, jeżeli przy ostatnim dostępie ne te strony były te dane wymagane (nie czeka na odmowę z kodem błędu 401-Unauthorized).
3) Przy dostępie dotychczas nie odwiedzonej strony najpierw przesyła zapotrzebowanie bez nazwy i hasła.
4) Przy odmowie zapotrzebowania przez serwer z kodem błędu 401-Unauthorized (wezwanie przez serwer do wprowadzenia nazwy oraz hasła użytkownika):
a) Jeżeli jest zalogowany do serwera PROMOTIC, wtedy automatycznie wytworzy nowe zapotrzebowanie włącznie z nazwą i hasłem użytkownika.
b) Jeżeli nie jest zalogowany do serwera PROMOTIC, wtedy wyświetli standardowe okno do wprowadzania nazwy i hasła użytkownika i dopiero wtedy wytworzy nowe zapotrzebowanie włącznie z nazwą i hasłem.


Dla serwera PROMOTIC są obowiązujące następujące zasady:
1) Opracowanie zapotrzebowania bez podania nazwy i hasła różni się według tego, czy chodzi o rygorystyczny lub nierygorystyczny tryb logowania (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła").
a) Jeżeli chodzi o tryb rygorystyczny wtedy po odbiorze zapotrzebowania od klienta odległego bez podania nazwy i hasła zapotrzebowanie jest bezzwłocznie odrzucone z kodem błędu 401-Unauthorized.
b) Jeżelichodzi o tryb nierygorystyczny, wtedy po odbiorze zapotrzebowania od klienta odległego bez podania nazwy i hasła użytkownika zostanie wykonana weryfikacja wykonania operacji z tym, co zostało podane (niezalogowany użytkownik $NOUSER_NET oraz adres IP). Jeżeli uprawnienie jest wystarczające (weryfikacja tylko na adres IP, dozwolone wszystkim poprzez grupę $ANY/$ANY_NET lub niezalogowany użytkownik posiada wystarczające uprawnienia), wtedy czynność zostanie wykonana i zostanie wytworzony jeden obiekt typu PmUser, który przedstawia zalogowanego użytkownika sieciowego. Jeżeli uprawnienie nie jest wystarczające, wtedy zapotrzebowanie zostanie odrzucone z kodem błędu 401-Unauthorized.
2) Przetworzenie zapotrzebowania przy dostarczeniu nazwy i hasła użytkownika. Serwer PROMOTIC spróbuje odnaleźć użytkownika sieciowego o podanej nazwie i haśle (jeżeli znaleziony użytkownik ma równocześnie ustawionę weryfikację adresu IP to również z podanym adresem IP). Bez względu na to, czy użytkownik sieciowy został odnaleziony według nazwy i hasła serwer PROMOTIC jeszcze próbuje odnaleźć drugiego użytkownika sieciowego o odpowiadającym adresie IP (jeżeli istnieje użytkownik weryfikowany tylko na podstawie adresu IP). Potem zostanie wykonana upoważnienie uprawnień jednego lub dwu użytkowników (według nazwy i według adresu IP). Jeżeli uprawnienia dowolnego z obu użytkowników są wystarczające, wtedy czynność zostanie wykonana i zostanie wytworzony jeden obiekt typu PmUser, który przedstawia zalogowanego użytkownika sieciowego.

Weryfikacja uprawnień zalogowanego użytkownika do wykonania zapezpieczonej operacji

Właściwa weryfikacja jest wykonywana w następujących krokach:
1) Określenie czy zapotrzebowanie na wykonanie operacji powstało lokalnie czy też w sieci.
2) Określenie identyfikatora użytkownika lokalnego czy też użytkownika sieciowego, który wywołał zapotrzebowane. W przypadku kombinacji użytkownika sieciowego uwierzytalnianego poprzez nazwę i hasło i użytkownika sieciowego uwierzytelnianego poprzez adres IP mogą być dwa identyfikatory.
3) Porównanie identyfikatora użytkownika z grupami użytkowników w uprawnieniach. Wykonanie operacji jest zezwolone jeżeli użytkownik jest członkiem którejkolwiek z uprawnionych grup użytkowników. W przypadku dwu identyfikatorów użytkowników jest wykonywane porównanie dla każdego identyfikatora osobno i wystarczy, jeżeli sukcesem zakończy się dowolne z nich.

Wszelkie porównania podczas wyszukiwania obecności identyfikatora użytkownika w grupach użytkowników są zakończone sukcesem zaraz po odnalezieniu dowolnej grupy użytkowników, której użytkownik jest członkiem.
Jeżeli natomiast użytkownik nie zostanie odnaleziony na całej liście, wtedy wyszukanie kończy się niepowodzeniem i wykonani eoperacji nie jest dozwolone.

Przegląd systemowych użytkowników i grup użytkowników

Systemowe grupy użytkowników i użytkownicy systemowi nie różnią się z punktu widzenia zastosowania do weryfikacji uprawnień od zwykłych grup użytkowników i zwykłych użytkowników. To znaczy, że systemowe grupy użytkowników można przytaczać w uprawnieniu czynności zabezpieczanej, użytkowników systemowych można przyszeregowywać do grup użytkowników.
Nie jest zalecane stosowanie grup użytkowników $ANY, $ANY_LOCAL oraz $ANY_NET w uprawnieniach czynności zapezpieczanych. Lepszym rozwiązaniem jest zastosowanie systemopwych grup użytkowników $OPER oraz $ADMIN i ewentualnie założenie własnych grup użytkowników.
Przyszeregowaniem użytkownika $NOUSER_LOCAL lub $NOUSER_NET do określonej grupy użytkowników, nie będzie wymagany zalogowany użytkownik podczas weryfikacji uprawnienia zabezpieczonego na określoną grupę użytkowników (podobnie jak przy zastosowaniu użytkownika $ANY). Usunięciem użytkownika $NOUSER_LOCAL lub $NOUSER_NET z określonej grupy użytkowników, będzie wymagany użytkownik podczas weryfikacji uprawnień na daną grupę użytkowników. Powyższy koncept umożliwia przez przyszeregowanie i usuwanie użytkowników $NOUSER_LOCAL oraz $NOUSER_NET do poszczególnych grup użytkowników zmieniać zachowanie całej aplikacji bez konieczności zmian poszczególnych uprawnień dla zabezpieczanych czynności. Natomiast przy zastosowaniu grup użytkowników $ANY, $ANY_LOCAL oraz $ANY_NET w uprawnieniach zabezpieczanych czynności nie można w prosty sposób zmienić zachowanie całej aplikacji i wtedy jest konieczna zmiana uprawnień w wielu miejscach aplikacji.
Notatka! W uruchomionej aplikacji trzeba zapewnić, żeby podstawowa część aplikacji, służąca do wyświetlenia ofert z wyborem dla zalogowanego użytkownika lokalnego, była dostępna również niezalogowanemu użytkownikowi. To jest konieczne dlatego, że w aplikacji lokalnej weryfikacja uprawnień jest wykonywana względem bieżąco zalogowanego użytkownika lokalnego. Chodzi zwłaszcza o główne okno aplikacji (obiekt PmaWorkspace) oraz okno z paskiem narzędziowym (obiekt PmaPanel). To jest zapewnione już podczas założenia nowej aplikacji PROMOTIC, kiedy w tych obiektach są wstępnie ustawione niektóre uprawnienia w taki sposób, że zawierają listę użytkowników $ANY_LOCAL. W ten sposób użytkownik lokalny może sobie wyświetlić część aplikacji, która umożliwia jego zalogowanie. Dla użytkownika sieciowego taka funkcjonalność nie jest koniecze, ponieważ przeglądarka internetowa sam wyświetli okno do zalogowania w chwili, kiedy użytkownik przystępuje do zabezpieczanej strony.

Przegląd systemowych użytkowników i grup użytkowników:
$ANY: systemowa grupa użytkowników, przedstawia dowolnego lokalnego lub sieciowego użytkownika (zalogowany, niezalogowany).
$ANY_LOCAL: systemowa grupa użytkowników, przedstawia dowolnego użytkownika lokalnego (zalogowany, niezalogowany).
$ANY_NET: systemowa grupa użytkowników, przedstawia dowolnego użytkownika sieciowego (zalogowany, niezalogowany).
$ADMIN: systemowa grupa użytkowników, przedstawia grupę użytkowników z uprawnieniami administratora.
$OPER: systemowa grupa użytkowników, przedstawia grupę użytkowników z uprawnieniami zwykłej obsługi.
$NOUSER_LOCAL: użytkownik systemowy, przedstawia niezalogowanego użytkownika lokalnego.
$NOUSER_NET: użytkownik systemowy, przedstawia niezalogowanego użytkownika sieciowego.

Przykłady zastosowania

Przedstawione przykłady służą tylko jako inspiracja przy konkretnym zastosowaniu użytkowników. Możliwości jest dużo więcej i poszczególne sposoby można znacznie kombinować. Można pracować z niezalogowanymi użytkownikami, użytkownikami zalogowanymi poprzez nazwę i hasło, z sieciowymi użytkownikami z pewnych adresów IP oraz konkretnymi z góry ustawionymi kombinacjami równocześnie na nazwę, hasło oraz adres IP (wypełnione dla jednego użytkownika) lub dynamicznie powstającymi kombinacjami użytkownika, który zaloguje się pod nazwą i hasłem użytkownika z odpowiedniego adresu IP (jeden użytkownik określony przez nazwę i hasło a następny użytkownik określony wyłącznie przez adres IP) gdzie użytkownik taki jest zarządzany jako obaj ustawieni użytkownicy równocześnie i posiada uprawneinia obu użytkowników (wypadkowa kombinacja uprawnień może być dużo większa niż dowolnego z obu ustawionych użytkowników).

Cała aplikacja zabezpieczona przez logowanie: Do tego celu służy rygorystyczny tryb logowania (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła"). Tryb ten zapewnia, że wszyscy użytkownicy sieciowi muszą być zalogowani przez podanie nazwy i hasła. W tym trybie niezalogowany użytkownik $NOUSER_NET nie ma żadnego sensu. Nie jest zalecane stosowanie grup użytkowników $ANY oraz $ANY_NET w uprawnieniach, które zluzowałyby konieczność zalogowania. Do aplikacji sieciowej przeglądarka internetowa zaloguje się tylko raz, później na wezwanie za każdym razem sam odeśle nazwę i hasło. Tryb ten jest zalecanym trybem logowania do aplikacji.

Część aplikacji nie jest zabezpieczona poprzez logowanie, inna część (administratorska) aplikacji jest chroniona przez logowanie: DO tego celu służy nierygorystyczny tryb logowania (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła"). Niezalogowanego użytkownika sieciowego $NOUSER_NET powinien zostać zaszeregowany do grupy użytkowników $OPER (dostęp do niezabezpieczonej części aplikacji), lecz nie powinien być zarejestrowany w grupie użytkowników $ADMIN. W ten sposób jest zapewnione, że do zwykłych części aplikacji, zabezpieczonych przez dostęp dla grupy użytkowników $OPER, użytkownik sieciowy będzie mieć dostęp bez zalogowania. Przy próbie o dostęp do administratorskiej części aplikacji, zabezpieczonej przez uprawnienia dla grupy użytkowników $ADMIN, na użytkowniku sieciowym będzie wymuszone zalogowanie się.

Cała aplikacja niezabezpieczona przez ogowanie: Do tego celu jest przeznaczony nierygorystyczny tryb logowania (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła"). Niezalogowany użytkownik $NOUSER_NET powinien zostać zarejestrowany do grup użytkowników $OPER oraz $ADMIN. W ten sposób jestzapżewnione, że do zwykłych i administratorskich części aplikacji użytkownik sieciowy będzie mieć nieograniczony dostęp.

Część aplikacji zabezpieczona przez dostęp użytkowników z pkreślonych adresów IP, inna część (administratorska) zabezpieczona przez logowanie: Do tego celu jest przeznaczony nierygorystyczny tryb logowania (patrz konfigurator "Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła"). Użytkownik sieciowy $NOUSER_NET nie powinien być zarejestrowany w żanej grupie użytkowników. Jest konieczne wytworzenie użytkowników odpopwiadających konkretnym adresom IP i tych trzeba zarejestrować do grupy użytkowników $OPER. W ten sposób jest zapewnione, że do zwykłych części aplikacji użytkownik sieciowy będzie mieć nieograniczony dostęp z określonych adresów IP bez konieczności zalogowania. Do administratorskiej części aplikacji jest wymuszone zalogowanie użytkownika przy pomocy nazwy i hasła.

Administratorska część aplikacji zapezpieczona przez zalogowanie użytkowników z danego adresu IP: KOnieczne jest wytworzenie sieciowych użytkowników z wymuszonym logowaniem przez nazwę i hasło oraz weryfikacją adresu IP i ich przyszeregowanie do grupy użytkowników $ADMIN. W ten sposób jest zapewnione, że do administratorskiej części aplikacji będzie mieć dostęp tylko zalogowany użytkownik sieciowy z określonego adresu IP.

Historia:
Pm9.00.02: Wprowadzono logowanie użytkowników Windows przy pomocy nazwy oraz hasła, a administracja użytkowników jest następnie wykonywana przy pomocy środków Windows.
Zalogowany użytkownik jest później członkiem grup użytkowników według swego uczestnictwa w odpowiednich grupach Windows.
Pm8.02.00: Zdarzenie onUserLogonBegin jest obecnie wywoływane także dla użytkowników Webowych co umożliwia przy pomocy skryptu wyeliminowanie zalogowania konkretnego użytkownika.
Pm8.00.03:
- Pm.GetUserInfo metoda: zawiera nową opcję "what:loguserarray;" która zwraca tablicę obiektów PmUser (tzn. obiekty typu zalogowany użytkownik - lokalny/sieciowy).
- wytworzono nowych systemowych użytkowników $NOUSER_LOCAL oraz $NOUSER_NET w celu lepszego ustawienia aplikacji, jeżeli nie jest zalogowany żadny użytkownik.
- Nowy konfigurator "PmaRoot > Użytkownicy > Po uruchomieniu zaloguj automatycznie użytkownika lokalnego" w celu prostrzego przestawienia "aplikacji z koniecznością zalogowania " do "aplikacji bez konieczności zalogowania".
- Nowy konfigurator "PmaWeb > Web > Rygorystyczny tryb logowania użytkowników sieciowych do aplikacji z koniecznością podania nazwy użytkownika oraz hasła" w celu lepszej administracji oraz optymalizacji zalogowanych użytkowników sieciowych w przeglądarkach internetowych.
- patrz rozdział Przykłady zastosowania.
© MICROSYS, spol. s r.o.