Přístupová práva: Porovnání verzí

Z Freenetis Wiki
Přejít na: navigace, hledání
m
Řádek 3: Řádek 3:
  
 
==Popis SQL tabulek knihovny PhpGacl==
 
==Popis SQL tabulek knihovny PhpGacl==
aneb co v manuálu phpgacl nenajdete (rozepsáno, zatím nedopsáno)...
+
 
 +
V PhpGaclu je všechno postavené na ACO, ARO a AXO.
 +
 
 +
ACO - objekty operací
 +
ARO - objekty nebo skupiny objektů, které chtějí jednotlivé operace (ACO) vykonávat
 +
AXO - objekty nebo skupiny objektů, nad kterými chtějí jednotlivé ARO nějakou operaci (ACO)
  
 
===acl===
 
===acl===

Verze z 18. 7. 2009, 17:02

Popis implementace správy přístupových práv ve Freenetisu

Popis SQL tabulek knihovny PhpGacl

V PhpGaclu je všechno postavené na ACO, ARO a AXO.

ACO - objekty operací ARO - objekty nebo skupiny objektů, které chtějí jednotlivé operace (ACO) vykonávat AXO - objekty nebo skupiny objektů, nad kterými chtějí jednotlivé ARO nějakou operaci (ACO)

acl

Tabulka, definující přístupová práva.

Obsahuje pouze sloupec id a sloupce allow a enabled. Ke každému pravidlu jsou objekty ACO/ARO/AXO přidělovány pomocí tabulek aro_groups_map, axo_groups_map a aco_map

aro_groups_map

přiřazuje k jednotlivým ACL pravidlům skupiny uživatelů.

Příklad:

Vytvoříme pravidlo "Zájemci o členství a řádní členové mohou dělat XYZ".

Toto pravidlo bude v tabulce "acl" reprezentováno novým řádek s id=27, ve kterém je uloženo hodnota "allow";

Pokud "řádní členové" mají id=22 a zájemci o členství id=23, pak v tabulce aro_groups_map při vytvoření tohoto pravidla přibudou 2 nové řádky:

acl_id | group_id


27 | 22

27 | 23

axo_groups_map

Podobné jako aro_groups_map, ale pro AXO

aco_map

Podobné jako aro_groups_map, ale pro ACO. Protože ACO nemá stromovou strukturu skupin, neodkazuje tato tabulka na skupiny, ale přímo na jednotlivé objekty ACO.

Proto každý řádek kromě acl_id obsahuje položky section_value a value, identifikující dané ACO.