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

Z Freenetis Wiki
Přejít na: navigace, hledání
(acl)
(acl)
Řádek 17: Řádek 17:
 
Obsahuje sloupce id, section_value, allow, enabled, return_value, note, updated_date.
 
Obsahuje sloupce id, section_value, allow, enabled, return_value, note, updated_date.
  
id - identifikátor, důležitý pro propojení s ACO, ARO a AXO
+
'''id''' - identifikátor, důležitý pro propojení s ACO, ARO a AXO
  
section_value - název sekce, kam toto pravidlo patří
+
'''section_value''' - název sekce, kam toto pravidlo patří
  
allow - 1 => pravidlo operaci povoluje, 0 => pravidlo operaci zakazuje
+
'''allow''' - 1 => pravidlo operaci povoluje, 0 => pravidlo operaci zakazuje
  
enabled - 1 => pravidlo je povolené, 0 => pravidlo je zakázané
+
'''enabled''' - 1 => pravidlo je povolené, 0 => pravidlo je zakázané
  
return_value - zatím netuším
+
'''return_value''' - zatím netuším
  
note - komentář, popisující funkci pravidla (např. Administrátoři mohouu dělat vše)
+
'''note''' - komentář, popisující funkci pravidla (např. Administrátoři mohouu dělat vše)
  
updated_date - timestamp poslednín aktualizace pravidla
+
'''updated_date''' - timestamp poslednín aktualizace pravidla
  
 
===aro_groups_map===
 
===aro_groups_map===

Verze z 18. 7. 2009, 17:19

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

Popis SQL tabulek knihovny PhpGacl

V PhpGaclu je všechno postavené na objektech 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 sloupce id, section_value, allow, enabled, return_value, note, updated_date.

id - identifikátor, důležitý pro propojení s ACO, ARO a AXO

section_value - název sekce, kam toto pravidlo patří

allow - 1 => pravidlo operaci povoluje, 0 => pravidlo operaci zakazuje

enabled - 1 => pravidlo je povolené, 0 => pravidlo je zakázané

return_value - zatím netuším

note - komentář, popisující funkci pravidla (např. Administrátoři mohouu dělat vše)

updated_date - timestamp poslednín aktualizace pravidla

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.