STRIX
DozvoleACL: Revision 3

Dozvole i ACL

Nasljedjivanje

Dozvole se definiraju nad nekom jedinicom sadržaja - site, kategorija/stranica, vijest, dokument.

Dozvole se daju korisniku ili grupi korisnika.

Dozvole mogu biti READ, WRITE, AUTHOR/SUGGEST, ADMIN/OWN itd. (Skup dozvola nije ograničen i po potrebama se može proširiti.)

Dozvola korisniku je jača od dozvole grupi. Ako je dozvola dana ili oduzeta korisniku zanemaruju se dozvole koje bi taj korisnik imao kao pripadnik grupama kojima je dana dozvola.

Kako postoji hijerarhija jedinica sadržaja tako postoji i nasljeđivanje dozvola.

Ako je jednoj grupi ili korisniku definirana dozvola više puta u više razina, u obzir se uzima dozvola definirana hijerarhijski najbliže jedinici sadržaja, ali opet se uzima pravilo: dozvola korisniku je jača od dozvole grupi. Npr. ako je Peru nad siteom definirano pravo READ, ali mu je nad konkretnim dokumentom PeroNemaPravo.doc zabranjeno READ, on neće moći pristupiti tom dokumentu.

Alternativni opis

Postoje tri pojma:

SUBJEKT = korisnik, grupa korisnika

OBJEKT = dokument/folder

PRAVO = za dokumente READ ili OWN, za foldere READ, SUGGEST, AUTHOR, OWN (svako od prava ima vrijednost DA ili NE)

Jedan zapis u ACL-u mora imati definirane sve tri vrijednosti.

Vrijede pravila:

• PRAVO korisniku je jače od PRAVA grupi. Ako je PRAVO dano ili oduzeto (vrijednost DA ili NE) korisniku, zanemaruju se PRAVA koje bi taj korisnik imao kao pripadnik grupama kojima je dana dozvola.

• ACL se može nasljeđivati s jedne razine na drugu (npr. sa foldera na podfolder ili dokument što je defaultno ponašanje document managementa)

• Ako je jednoj grupi ili korisniku definiran ACL više puta u više razina, u obzir se uzima PRAVO definirano hijerarhijski najbliže jedinici sadržaja (dokumentu ili folderu), ali opet se uzima pravilo: PRAVO korisniku je jače od PRAVA grupi.

• Zabrana (PRAVO=Ne) u kontekstu korisnika je jače od dozvole (PRAVO=Da)

• U kontekstu grupe, dozvola (PRAVO=Da) je jače od zabrane (PRAVO=Ne)

Ostalo

Za sada, možete pogledati AclHacks za hands-on stvari koje možete napraviti direktno u bazi.