Sprawdzanie uprawnień w zależności od aplikacji, procesu, obiegu i typu formularza

Facebooktwitterpinterestlinkedinmail
Dotyczy wersji 2021.1.x autor: Adrian Baszak
Aktualizacja: 18.06.2026; autor: Lily Adamowicz


Dokumentacja powiązana

Szczegółowy opis funkcjonalności wymienionych w niniejszym artykule oraz ich konfiguracji można znaleźć w następujących sekcjach Pomocy WEBCON:

 

Podstawowe informacje

Wraz ze wzrostem liczby wdrożonych aplikacji zwiększa się również liczba ról i uprawnień, którymi należy zarządzać. Role te mogą być przypisywane zarówno bezpośrednio do użytkowników, jak i do grup. W praktyce może więc pojawić się potrzeba szybkiego sprawdzenia, jakie uprawnienia zostały skonfigurowane w ramach konkretnej aplikacji, procesu, obiegu lub typu formularza.

W artykule przedstawiono przykładowy obieg umożliwiający weryfikację takich uprawnień. Każdy z opisanych przykładów zawiera widok z perspektywy użytkownika, zapytanie SQL zwracające odpowiednie dane oraz zapytanie SQL wykorzystywane jako źródło danych dla Pól wyboru użytych w konfiguracji.

Na jednym formularzu prezentowane będą:

  • podstawowe informacje o aplikacji,
  • uprawnienia skonfigurowane w wybranej aplikacji,
  • uprawnienia przypisane do wybranego procesu,
  • uprawnienia dla wybranego obiegu i typu formularza w ramach wybranego procesu.

 

Lista aplikacji

Do formularza dodano dwa atrybuty: Pole wyboru oraz Wiersz danych. Atrybut Pole wyboru służy do wskazania aplikacji. Po jej wybraniu w sekcji po prawej stronie formularza, skonfigurowanej jako Wiersz danych, prezentowane są podstawowe informacje na temat aplikacji.

Rys.1. Informacje o wybranej aplikacji

 

Aby uzyskać taki widok na formularzu, w źródle danych atrybutu Wiersz danych zastosowano następujące zapytanie SQL, które zwraca informacje o aplikacji:

select

APP_ID as [Id],

APP_Name as [Name],

APP_Description as [Description],

APP_TSInsert as[Creation date],

dbo.ClearWFElem(APP_Supervisor) as [Supervisor]

from WFApplications

where APP_ID = '{formFieldID}'

 

W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.

 

Rys.2. Konfiguracja źródła danych Wiersza danych

 

Na potrzeby źródła danych Pola wyboru można wykorzystać zapytanie oparte na tej samej tabeli, ale bez warunku where i z ograniczoną liczbą kolumn.

select 

  APP_name as Name,

  APP_ID as ID,

  APP_Description as Description

from WFApplications


Rys. 3. Konfiguracja źródła danych Pola wyboru

 

Uprawnienia na poziomie aplikacji

Następnie do formularza dodano atrybut Tabela danych, który wyświetla listę użytkowników oraz grup, którym nadano uprawnienia do wybranej aplikacji.

Rys. 4. Wybór aplikacji i podgląd uprawnień

 

Do źródła danych atrybutu Tabela danych dodano następujące zapytanie SQL, które zwraca uprawnienia do wybranej aplikacji:

select

CSC_APPID as [Application ID]

,CSC_USERGUID  as [Login]

,CSC_UserName  as [Display Name]

,APP_Name as [Application]

,lvl.Name as [Privileges]

from WFConfigurationSecurities

join WFApplications on APP_ID = CSC_APPID

join DicConfigurationSecurityLevels as lvl on lvl.TypeID = CSC_LevelID

where APP_ID = '{formFieldID}'

order by 2

 

W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.

 

Rys.5. Konfiguracja źródła danych Tabeli danych

 

Uprawnienia na poziomie procesów, obiegów i typów formularza

Informacje o uprawnieniach do aplikacji można rozszerzyć o uprawnienia nadane w ramach poszczególnych procesów, obiegów oraz typów formularzy. W tym celu do formularza dodano trzy Pola wyboru, które umożliwiają wskazanie procesu, obiegu oraz typu formularza, dla których mają zostać sprawdzone uprawnienia: Process list, Workflow oraz Form type. Dodano również kolejną Tabelę danych, która będzie wyświetlać informacje o tych uprawnieniach. Konfigurację atrybutów opisano w dalszej części artykułu.

Rys.6. Uprawnienia w aplikacji z podziałem na procesy, obiegi i typy formularzy

 

Jeżeli w Polach wyboru Process list, Workflow lub Form type nie zostanie wskazana żadna wartość, formularz wyświetli wszystkie uprawnienia dostępne dla danego poziomu konfiguracji. Przykładowo, na powyższym zrzucie ekranu wybrano tylko aplikację, dlatego zaprezentowane zostały uprawnienia dla wszystkich procesów w tej aplikacji.

Na poniższym zrzucie ekranu wybrano konkretny proces, dla którego mają zostać sprawdzone uprawnienia. Wyniki w Tabeli danych zostały przefiltrowane na podstawie tego wyboru.

Rys.7. Uprawnienia dla konkretnego procesu z wybranej aplikacji

 

W ten sam sposób można filtrować wyniki poprzez wybór konkretnego obiegu oraz typu formularza. Na poniższym widoku wyniki zawężono do konkretnego obiegu oraz typu formularza w wybranym procesie.

Rys.8. Uprawnienia dla konkretnego typu formularza w wybranym obiegu

 

Konfiguracja Pól wyboru

W źródłach danych poszczególnych Pól wyboru zastosowano zapytania SQL zwracające odpowiednie procesy, obiegi oraz typy formularzy w wybranej aplikacji.

  • Procesy

Zapytanie SQL:

select

DEF_ID as [ID],

DEF_Name as [Name],

DEF_Description as [Description],

DEF_APPID as [APP_ID]

from WFDefinitions

where

DEF_APPID='{formFieldID}'

 

W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru aplikacji.

 

Rys.9. Konfiguracja źródła danych Pola wyboru Process list

 

  • Obiegi

Zapytanie SQL:

select

WF_ID as [ID],

WF_WFDEFID as [DEF_ID],

WF_Name as [Name]

from Workflows

where

WF_WFDEFID = '{formFieldID}'

 

W miejsce '{formFieldID}' należy wstawić wartość z Pola wyboru procesu.

 

Rys.10. Konfiguracja źródła danych Pola wyboru Workflow

 

  • Typy formularza

Zapytanie SQL:

select

DTYPE_ID as [ID]

,DTYPE_Name as [Name]

from  WFDocTypes

join  DocTypeAssocciations on ASS_DTYPEID=DTYPE_ID

join WorkFlows on WF_ID = ASS_WFID

join WFDefinitions on DEF_ID = DTYPE_DEFID

where

DEF_APPID = '{formFieldID}'

and (DEF_ID = '{formFieldID}' or '{formFieldID}' = '')

and (WF_ID = '{formFieldID}' or '{formFieldID}' = '')

 

W miejsca '{formFieldID}' należy wstawić kolejno wartości z Pól wyboru aplikacji, procesu oraz obiegu.

 

Rys.11. Konfiguracja źródła danych Pola wyboru Form type

 

Konfiguracja Tabeli danych

Poniżej przedstawiono konfigurację źródła danych Tabeli danych Privileges. Wykorzystuje ona zapytanie SQL, które zwraca uprawnienia dla poszczególnych procesów, obiegów i typów formularzy w wybranej aplikacji:

select

DEF_Name as [Process name]

,SEC_UserName as [UserName]

,SEC_USERGUID  as [Userlogin]

,WF_Name as [Workflow]

,DTYPE_Name as [Form type]

,lvl.Name as [Level]

,isnull(COM_Name, '<All>') as [COM_Name]

from DocTypeAssocciations

join WFDocTypes on DTYPE_ID = ASS_DTYPEID

join WorkFlows on WF_ID = ASS_WFID

join WFSecurities on SEC_ASSID = ASS_ID

join WFDefinitions on DEF_ID = DTYPE_DEFID

join DicSecurityLevels as lvl on lvl.TypeID = SEC_LevelID

left join Companies on COM_ID = SEC_COMID

where

DEF_APPID='{Application_formFieldID}'

and (DEF_ID ='{Process_formFieldID }' or '{Process_formFieldID }' = '')

and (WF_ID  = '{Workflow_formFieldID }' or '{Workflow_formFieldID }' = '')

and (DTYPE_ID = '{FormType_formFieldID }' or '{FormType_formFieldID }' = '')




order by 1, 2, 3


W miejsca '{formFieldID}' należy wstawić odpowiednio wartości z Pól wyboru aplikacji, procesu, obiegu oraz typu formularza.

 

Rys.12. Konfiguracja źródła danych zwracającego informacje w Tabeli danych

 

Podsumowanie

Przedstawiony formularz oraz zapytania SQL można wykorzystać do utworzenia dedykowanej aplikacji wspierającej podgląd i weryfikację uprawnień w WEBCON. Takie rozwiązanie pozwala szybko sprawdzić konfigurację uprawnień w wybranych aplikacjach, procesach, obiegach i typach formularza.

Może być ono szczególnie przydatne dla administratorów, którzy zyskują przejrzysty sposób analizowania uprawnień użytkowników i grup bez konieczności ręcznego przechodzenia przez poszczególne elementy konfiguracji.