Get_membership

SQL

function Get_membership(IN subject_name CHAR(31), IN subject_categ INT, IN container_name CHAR(31), IN container_categ INT, IN transitive BOOLEAN); returns BOOLEAN;


Parametry

subject_name
jméno subjektu práv (uživatele, skupiny)
subject_categ
kategorie subjektu práv subject_name
container_name
jméno subjektu práv (skupiny, role)
container_categ
kategorie subjektu práv container_name
transitive
příznak povolující nepřímé náležení


Od verze

7.0f

Popis

Funkce umožňuje zjistit stav náležení mezi subjektem práv subject_name a subjektem práv container_name.

Pokud parametr transitive má hodnotu FALSE nebo NULL, pak funkce zjistí, zda první subjekt je přímo zařazen do druhého. Pokud parametr transitive má hodnotu TRUE, pak funkce zjistí, zda první subjekt patří do druhého, ať už přímo nebo nepřímo, přes jiný subjet práv. Tak lze zjistit například nepřímé obsazení uživatele do role prostřednictvím skupiny uživatelů.

Je-li druhý subjekt role, pak lze její jméno container_name prefixovat jménem schématu, do něhož role patří.



Návratová hodnota

Funkce vrací NULL v případě chyby. Jinak funkce vrací TRUE, je-li první subjekt zařazen do druhého, nebo FALSE, pokud zařazen není.



Příklad

Zjištění zařazení uživatele David do role Účetní:

SET patri = Get_membership('David', CATEG_USER, 'Účetní', CATEG_ROLE, TRUE);

Viz