Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Mechanika uprawnień ACL (dokumenty)

Podsumowanie:

Podstawą obsługi uprawnień ACL dla dokumentów w nAxiom są szablony uprawnień konfigurowane na poziomie definicji dokumentu. Uprawnienia z szablonów są generowane w momencie utworzenia (pierwszego zapisu) nowego dokumentu. W cyklu przetwarzania dokumentu w procesie biznesowym uprawnienia do indywidualnych dokumentów można zmieniać:

  • bezpośrednio, w wyniku ręcznej modyfikacji na formularzu (ikona kluczyka) lub w wyniku wykonania akcji Uprawnienia do rekordów
  • pośrednio, przez zmianę składu grupy interesariuszy przypisanej do dokumentu.

    Informacje o uprawnieniach są przechowywane w tabelach bazy danych i są podstawą do sprawdzania uprawnień, kiedy użytkownik próbuje wyświetlać, modyfikować i usuwać dokumenty.

Informacje o uprawnieniach są zapisywane w systemowych (schemat core) tabelach bazy danych, których nazwy zaczynają się od przedrostka ACL. Weryfikacja uprawnień dla każdego dokumentu polega na sprawdzeniu, czy bieżący użytkownik znajduje się w grupie uprawnionych (twórca dokumentu, posiadacz roli, członek grupy interesariuszy) oraz jaki ma zakres uprawnień (RUDA).

Tabela core.ACLTemplateEntries

W tej tabeli przechowywane są informacje o zdefiniowanych szablonach. Na podstawie danych z tej tabeli generowane są wpisy uprawnień dla tworzonych dokumentów.

Nazwa kolumny Typ danych Zezwól NULL Opis
Id int Kolumna klucza głównego, identyfikator rekordu w tabeli
CRUDA nvarchar(MAX) Zakres uprawnień ustawiony w szablonie
UserId uniqueidentifier Identyfikator użytkownika, wartość inna niż NULL wskazuje, że jest to szablon dla twórcy dokumentu
FillRule int Rodzaj uprawnionego, patrz przypis 1 poniżej
Description nvarchar(MAX) Opis szablonu uprawnień
BusinessDocumentId int Identyfikator definicji dokumentu, z którą jest powiązany szablon
StatusId int Identyfikator statusu, w którym ma obowiązywać szablon lub NULL dla szablonu ogólnego
OUInstanceId int Identyfikator jednostki organizacyjnej; patrz przypis 2 pod tabelą
StakeholderId int Identyfikator grupy interesariuszy przypisanej do dokumentu
RowGuid uniqueidentifier Unikatowy identyfikator szablonu

Przypis 1: Kolumna FillRule może zawierać następujące wartości:

  • 0: (nieobsługiwane)
  • 1: twórca dokumentu
  • 2: właściciel dokumentu (nieobsługiwane)
  • 3: przełożony twórcy (nieobsługiwane)
  • 4: przełożony właściciela (nieobsługiwane)
  • 5: grupa interesariuszy
  • 6: użytkownicy z wskazaną rolą
  • 7: użytkownicy z wskazaną rolą z wskazanej jednostki organizacyjnej (wycofane)
  • 8: użytkownicy z wskazaną rolą z wskazanej jednostki organizacyjnej i jej jednostkę podrzędnych (wycofane)

Przypis 2: W nAxiom 1.11.2.0 wycofano możliwość definiowania szablonów dla ról we wskazanych jednostkach i podjednostkach organizacyjnych, jednak istniejące szablony są nadal obsługiwane. Z tego względu w tabeli pozostawiono kolumnę OUInstanceId.

Tabela core.ACLTemplateEntryRoles

Tabela pomocnicza, zawiera informacje o rolach powiązanych z poszczególnymi szablonami uprawnień. Ta tabela jest w relacji jeden-do-wiele z tabelą core.ACLTemplateEntries.

Nazwa kolumny Typ danych Zezwól NULL Opis
Id int Kolumna klucza głównego, identyfikator rekordu w tabeli
ACLTemplateEntryId int Identyfikator szablonu uprawnień (kolumna Id z tabeli core.ACLTemplateEntries)
RoleId int Identyfikator roli, dla której obowiązuje schemat uprawnień (kolumna Id z tabeli core.Roles)
RowGuid uniqueidentifier Unikatowy identyfikator rekordu

Tabela core.ACLInstanceEntries

Szczegółowe wpisy uprawnień dla poszczególnych dokumentów; każdy dokument może mieć wiele wpisów, np. dla indywidualnych użytkowników, dla ról oraz dla użytkowników należących do grup interesariuszy. Ta tabela zawiera również zduplikowane kolumny systemowe z tabeli modelu danych na potrzeby funkcji tabelarycznej core.UserTasks_View. Opis tych kolumn pominięto.

Wpisy w tej tabeli są generowane/usuwane w wyniku następujących zdarzeń:

  • Utworzenie dokumentu; po zapisaniu nowego dokumentu i ustawieniu pierwszego statusu zostają wygenerowane wpisy na podstawie szablonu ogólnego oraz szablonu dla pierwszego statusu.
  • Zmiana statusu; po przejściu do kolejnego statusu zostają wygenerowane wpisy na podstawie szablonu dla bieżącego statusu; mogą również zostać wygenerowane/usunięte wpisy jeśli zmieni sią skład grupy interesariuszy.
  • Zmiana uprawnień dla bieżącego dokumentu na formularzu (ikona kluczyka, wymagane uprawnienie do administrowania uprawnieniami).
  • Wykonanie akcji uprawnień do rekordów.
  • Wykonanie akcji odświeżenia uprawnień; ta akcja odświeża uprawnienia odpowiednio do zmian składu grupy interesariuszy.
  • Wykonanie akcji systemowej Usuń rekord powoduje usunięcie wszystkich wpisów uprawnień dla danego dokumentu.
Nazwa kolumny Typ danych Zezwól NULL Opis
Id int Kolumna klucza głównego, identyfikator rekordu w tabeli
ACLId uniqueidentifier Identyfikator dokumentu na potrzeby uprawnień (kolumna o tej samej nazwie z odpowiedniej tabeli modelu danych)
CanRead bit Uprawnienie do odczytu
CanUpdate bit Uprawnienie do aktualizacji; egzekwowane podczas próby zapisu zmienionych danych
CanDelete bit Uprawnienie usunięcia dokumentu; dotyczy usunięcia w trybie inline i akcji Usuń rekord
CanManage bit Uprawnienie do administrowania uprawnieniami
UserId uniqueidentifier Identyfikator uprawnionego użytkownika
StatusId int Identyfikator statusu, dla którego obowiązuje szablon uprawnień
OUInstanceId int Identyfikator jednostki organizacyjnej, wskazuje na szablon interesariuszy z dodaną rolą w jednostce
OUSubinstances bit Flaga wskazująca, czy uprawnienia mają obowiązywać w jednostkach podrzędnych danej jednostki organizacyjnej; wartość domyślna 0; patrz przypis pod tabelą
StakeholderId int Identyfikator grupy interesariuszy (core.Stakeholders), dla której obowiązuje zestaw uprawnień

Przypis: W nAxiom 1.11.2.0 wycofano możliwość definiowania szablonów dla ról we wskazanych jednostkach i podjednostkach organizacyjnych, jednak istniejące szablony są nadal obsługiwane. Z tego względu w tabeli pozostawiono kolumnę OUSubinstances.

Tabela core.ACLInstanceEntryRole

Zawiera informacje o rolach powiązanych z danym wpisem uprawnień z tabeli core.ACLInstanceEntries.

Nazwa kolumny Typ danych Zezwól NULL Opis
ACLInstanceEntryId int Kolumna klucza głównego, identyfikator rekordu z tabeli core.ACLInstanceEntries
RoleId int Kolumna klucza głównego, identyfikator roli, której dotyczy dany wpis uprawnień; podczas sprawdzania uprawnień system szuka identyfikatora bieżącego użytkownika w tabeli core.UserProfileRoles

Tabela core.ACLStakeholderEntries

Zawiera informacje o członkach grup interesariuszy.

Nazwa kolumny Typ danych Zezwól NULL Opis
Id int Kolumna klucza głównego, identyfikator rekordu w tabeli
ACLId uniqueidentifier Identyfikator dokumentu, który ma przypisaną grupę interesariuszy (wartość z kolumny ACLId w tabeli dokumentu biznesowego)
UserProfileId uniqueidentifier Identyfikator użytkownika należącego do grupy interesariuszy (z tabeli core.UserProfiles); wpisy uprawnień dla indywidualnych
StakeholderId int Identyfikator grupy interesariuszy
OUInstanceId int Identyfikator jednostki organizacyjnej
RoleId int Identyfikator roli; jeśli dla danego dokumentu jest podana tylko rola, podczas sprawdzania uprawnień system szuka identyfikatora bieżącego użytkownika w tabeli core.UserProfileRoles; jeśli jest podana rola i jednostka, system szuka w tabeli core.OUInstanceUserRoles
|← Administrowanie uprawnieniami ACL |↑ Do góry |→ Struktura organizacyjna |

Copyright © 2025 OPTEAM SA. Theme Copyright © 2017-2020 Patrick Marsceill. Distributed by an MIT license.