Opis tabeli WFSecurities

Facebooktwitterpinterestlinkedinmail
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.