[ oliver78 @ 01.03.2005. 14:01 ] @
Interesuje me sledece:
Na nekom sajtu treba obezbediti pristup nekoliko vrsti korisnika i od njihovog tipa treba da imaju ovlascenja pristupa pojedinim delovima sajta i baze. Npr. admin moze sve: da kreira novog korisnika, update baze insert itd., a user samo da vidi pojedine zapise i sl. E sad pitanje: na koji nacin, kako sa teorijske strane tako i sa prakticne to uraditi.

Npr. da li pri svakom kreiranju admin korisnika (ciji se podaci cuvaju u bazi) kreirati i novog korisnika same baze (MySQL) i dodeliti mu ovlascenja, tako da pri pristupu bazi preko tog sajta taj novi admin koristi svoj db_useraccount
ILI
svi admin korisnici pristupaju bazi preko jedinstvenog db_accounta.

Nadam se da razumete. Neznam da li je za PHP forum ili za MySQL, ali sa namerom sam ga uvrstio ovde.
Pozdrav
P.S. Izvinite na izrazu POLITIKA


[ Jbyn4e @ 01.03.2005. 14:23 ] @
Mislim da ti je lakse da pomocu tipa korisnika definises sta sme da radi nego da priilikom svakog kreiranja okrisnika pravis korisnika baze (ako je tvoja baza na tvojoj masini pa mozes da se igras, a ako je kod provajdera onda neces ni moci) i da im dajes grant-ove nad bazom,tabelama i slicno. Naravno, govorimo o PHP-u u kombinaciji sa bazom, tj. u ovom slucaju sa MySQL-om.
[ _owl_ @ 01.03.2005. 14:32 ] @
Korisnici o kojima ti pricas su korisnici same aplikacije a ne DB servera. Logicno je da postoji jedan (db) user koji pristupa celoj bazi, koja izmedju ostalog sadrzi i podatke o svim user-ima aplikacije, njihovim privilegijama, itd. Sama aplikaciju u sebi sadrzi sve potrebne mogucnosti za rad sa vise vrsta (admin, mod, ...) svojih user-a.
[ flashboy @ 01.03.2005. 14:49 ] @
ja sam na forumu pravio tako da za korisnike imam tablicu useri koja ima polja: imeprezime, user, pass, mail, level... Level 1 mi je obični korisnik, 2 može brisati postove, 5 može brisati i teme, 50 može davati zabrane i sl. Korisnik sa nižim leveleom ne može obrisati ništa od korisnika s višim...
[ darkofdoom83 @ 01.03.2005. 21:53 ] @
E tako je najbolje i po meni odraditi kao sto je napisao flashboy.Tako sam i ja odradio.Level,pa picis brojeve...
A pri svakom ucitavanju stranice sledi provera--- if $level=1 ....
[ set_X @ 02.03.2005. 15:33 ] @
Pa prosto... ;)

Doda se level = user;

Onda napravis jedan fajl koji proverava to, i include na svakoj stranici.
[ Goran Rakić @ 04.03.2005. 23:34 ] @
Primedba: Za nivo koristite stepen svojke, znaci 1, 2, 4, 8,... Na taj nacin je lako koristiti operacije nad bitovima za proveru statusa. Na primer:

if( (PRIV_EDIT_ALL|PRIV_ADMIN|PRIV_SUBADMIN) & $level ) { ...