[ vilyu @ 04.09.2005. 13:44 ] @
Zdravo,

Pišem CMS u kome bih hteo da imam više korisnika sa precizno definisanim privilegijama. Ona ideja da je svaki korisnik određenog nivoa, pri čemu viši korisnik ima veća ovlašćenja, mi se ne sviđa jer bih ja korisnike da ograničim na sekcije sajta, a ne na ceo nivo stranica.

Zato sam zamislio da svaku stranicu stavim u tačno jednu kategoriju, a da korisnike ređam u više kategorija, kao što je organizacija privilegija kod *nix-oida. U tom slučaju, svaki korisnik bi mogao da edituje sve stranice koje spadaju u kategorije u kojima se on sam nalazi.

Imam tabelu stranica u kojoj stoje polja: id, naslov, sadrzaj, grupa i tabelu relacija stranica koja sadrži: parent_id, child_id. Mislim da bi svakom korisniku, na početku rada, morale da se prikažu samo prve (top) stranice u njegovim grupama. Kako to da izvedem? Da selektujem sve stranice u ovim grupama, pa da u novim upitima tražim one čije parent strane ne spadaju u te grupe? Jel postoji neko logičnije i kraće rešenje? Možda bolja organizacija tabela?

Hvala unapred!
[ kIGUAR @ 06.09.2005. 07:48 ] @
Ima jedna klasa koja bi timogla pomoci.
Na svaku stranicu mozes staviti vrijednost od 1-100. 1 je root a svi ostali imaju permissione, tako da veci broj ima uvijek manja prava od manjeg broja.
Tako mozes staviti koliko hoćeš nivoa permissiona, najbolje da isprobas, vjerujem da ce ti odgovarati sa eventualno malo prerade iliorgaizacije site-a.

Klasa ti omogucava da dodajes i usere, i to samo one kojiimaju permission veličine do tvoga.

http://authclassed.sourceforge.net/
[ vilyu @ 06.09.2005. 23:13 ] @
Vidiš, ali upravo sam to hteo da izbegnem. Želim da jedan korisnik nema nikakve mogućnosti da menja stranice za koje je nadležan neki drugi. Uostalom, nije poenta promeniti organizaciju sajta, nego prilagoditi program za njegovo održavanje.

Mene interesuje da li neko predlaže bolji-brži algoritam. Hvala.