Dotyczy wersji 2020.1.x; autor: Dawid Golonka
Wprowadzenie
Każdy z poszczególnych etapów składających się na realizację procesu biznesowego wymaga zaangażowania konkretnych pracowników bądź ich grup. Sam stopień zaangażowania może być dla poszczególnych osób różny – od wykonania jednej czynności i dostępu do części zasobów po uczestniczenie w całym cyklu procesu i wgląd w każdy jego element. System WEBCON BPS umożliwia odwzorowanie tych uwarunkowań przy pomocy mechanizmu uprawnień. Temat uprawnień został już szeroko opisany na blogu technicznym, jest dostępny z linku poniżej:
System Webcon BPS działa w oparciu o bazę danych, jednym z miejsc gdzie przechowywane są informacje o uprawnieniach jest tabela WFSecurities – jej opis będzie tematem tego artykułu.
Opis
Tabela WFSecurities zawiera informacje o aktualnych uprawnieniach nadanych na poziomie procesu, elementu, a także na typie formularza w kontekście danego obiegu. Składa się z następujących kolumn:
- SEC_LevelID – informacja o poziomie dostępu:
- 1 – Admin
- 2 – Modify without delete
- 3 – ReadOnly
- 4 – AddNew
- 5 – ReadOnly without attachments
- SEC_WFDID – Relacja odnosząca się do ID elementu
- SEC_DEFID – Relacja odnosząca się do ID procesu
- SEC_ASSID – Relacja odnosząca się do ID przypisania formularza do obiegu
- SEC_USERGUID – GUID użytkownika/grupy
- SEC_UserLoginName – login użytkownika/grupy
- SEC_UserName – nazwa użytkownika/grupy
Konfiguracja przykładowego procesu
W tej części artykułu zostaną przedstawione miejsca w programie BPS Studio, w których można konfigurować uprawnienia nadawane na procesie, formularzu czy elemencie. Sprawdzony zostanie również sposób „odkładania” tych informacji w bazie.
Jako przykład posłuży obieg składania wniosku urlopowego o schemacie jak poniżej:
Rys. 1. Schemat obiegu składania wniosku urlopowego
Uprawnienia na poziomie procesu
Aby nadać uprawnienia na poziomie procesu, należy wybrać proces z listy po lewej stronie interfejsu BPS Studio i przejść do zakładki „Uprawnienia”.
Rys. 2. Nadawanie uprawnień na poziomie procesu
Wprowadzeni zostali przykładowi uprawnieni użytkownicy, oraz jedna grupa użytkowników. Odpytując teraz tabelę WFSecurities w bazie danych uzyskujemy informacje o uprawnieniach nadanych na procesie (ID procesu można odczytać z zakładki „Ogólne”).
Rys. 3. Rezultat zapytania odnoszącego się do uprawnień na procesie
W tabeli odnotowały się informacje o nadanych uprawnieniach, dodatkowo można sprawdzić datę i godzinę nadania uprawnień oraz odświeżenia informacji o uprawnieniach.
Uprawnienia na poziomie formularza w danym obiegu
Jeśli istnieje potrzeba, aby uprawnienia nadawać nie w obrębie całego procesu, lecz dla poszczególnych formularzy w obiegu możemy to zrobić, wybierając konkretny obieg i przechodząc na zakładkę „Powiązane typy formularzy”. Jeśli jeden obieg korzysta z kilku typów formularzy możemy ustawić uprawnienia dla każdego typu z osobna.
Rys. 4. Nadawanie uprawnień na poziomie formularza w danym obiegu
Dzięki poniższemu zapytaniu SQL, możemy pobrać z tabeli WFSecurities dane, które odnoszą się do typu formularza dla którego użytkownikom zostały nadane uprawnienia w danym obiegu (ASS_DTYPEID – ID formularza).
Rys. 5. Rezultat zapytania odnoszącego się do uprawnień na formularzu w danym obiegu
Uprawnienia na poziomie konkretnego elementu
Najbardziej precyzyjnym sposobem przyznawania uprawnień jest możliwość nadania ich na poziomie poszczególnych elementów. Wybrani użytkownicy bądź grupy użytkowników mogą mieć przydzielone uprawnienia na poszczególnych krokach. W tym celu należy skorzystać z akcji „Dodaj uprawnienia”.
W celu prezentacji zmian w tabeli WFSecurities akcja została skonfigurowana na ścieżce „Zaakceptuj” wychodzącej z kroku „Akceptacja”.
Rys. 6. Nadawanie uprawnień na poziomie konkretnego elementu
Po uzupełnieniu danych na kroku „Rejestracja” i przejściu ścieżką „Prześlij do akceptacji” dokument trafia do kroku „Akceptacja”, gdzie czeka na akceptację przełożonego.
Rys. 7. Zrzut przedstawiający dane uzupełnione na kroku „Rejestracja”. Wniosek rejestruje Dawid Golonka, zadanie trafi do akceptującego, czyli do Bogusława Lindy
Uprawnienia dostępu do elementu ma w tym momencie użytkownik, który zarejestrował zgłoszenie wniosku i jego przełożony, który otrzymał zadanie. Przedstawione jest to na zrzucie ekranu poniżej.
Rys. 8. Rezultat zapytania odnoszącego się do uprawnień do elementu na kroku "Akceptacja". Uprawnienia są przypisane do osoby rejestrującej i do osoby akceptującej, która ma teraz przypisane zadanie
Przejście ścieżką „Zaakceptuj” z kroku „Akceptacja” do kroku „Wpis do systemu HR” wiążę się z wykonaniem akcji, która dodaje dostęp do elementu użytkownikowi James Bond (np. w celu przepisania danych do zewnętrznego systemu HR). Informacja o uzyskaniu uprawnień odnotowuje się w bazie danych.
Rys. 9. Rezultat zapytania odnoszącego się do uprawnień do elementu na kroku "Wpis do systemu HR". Odnotowała się informacja o dodaniu uprawnień użytkownikowi James Bond
Z tabeli można odczytać, że użytkownik Dawid Golonka, który zarejestrował wniosek zachował uprawnienia umożliwiające mu odczyt (uczestnicy obiegu zachowują prawo do odczytu w dalszych krokach, nawet po skończeniu swojego zadania). Użytkownik Bogusław Linda (osoba akceptująca) nadal ma przypisane zadanie, tak więc zachował on możliwość modyfikowania elementu. Z tabeli można się też dowiedzieć od kiedy wgląd w dane ma użytkownik James Bond, któremu nadano stosowne uprawnienia.
Sprawdzanie uprawnień z poziomu portalu
Informacje o tym, którzy użytkownicy i grupy posiadają uprawnienia w procesie, powiązanym z obiegiem typem formularza, a także w poszczególnych elementach są możliwe do uzyskania w portalu z poziomu konta administratora.
Jako przykład posłuży proces, na którym bazowano w pierwszej części artykułu.
Z poziomu portalu, pozostając na dowolnym z kroków już po zarejestrowaniu formularza należy przełączyć się w tryb administratora i wybrać z rozwijanego menu opcję „Privileges” (Uprawnienia).
Rys. 10. Widok okna "Privileges", w którym istnieje możliwość sprawdzenia aktualnego stanu nadanych uprawnień. Dokument aktualnie przebywa w kroku „Akceptacja”
W oknie, które się pojawi zawarte są informacje o uprawnieniach. Na powyższym zrzucie przedstawiony jest stan z kroku „Akceptacja”. Wszystkie wartości odpowiadają tym, które nadaliśmy w sekcji związanej z konfiguracją.
Po przejściu dalej i wykonaniu akcji związanej z dodaniem uprawnień kolejnej osobie można zauważyć, że dodał się użytkownik „James Bond”, który ma teraz możliwość przeglądania formularza bez podglądu załączników (zrzut poniżej).
Rys. 11. Widok okna "Privileges", w którym istnieje możliwość sprawdzenia aktualnego stanu nadanych uprawnień. Dokument aktualnie przebywa w kroku „Wpis do systemu HR”
Obie metody sprawdzania nadanych uprawnień umożliwiają kompleksowy ich przegląd i kontrolę, czy w procesowanie dokumentów nie jest włączone więcej osób niż jest to konieczne, a także czy użytkownicy mają uprawnienia adekwatne do swoich roli w procesie.