Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Organizacija administratorskih privilegija

[es] :: PHP :: Organizacija administratorskih privilegija

[ Pregleda: 2260 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mystery
Beograd

Član broj: 170918
Poruke: 76



+4 Profil

icon Organizacija administratorskih privilegija04.05.2013. u 18:35 - pre 132 meseci
Koji je najbolji nacin za organizovanje administratorskih privilegija?

Recimo, imamo privilegije "moderator, "visi moderator", "super moderator" itd, ali bi valjalo da se svakome od njih mogu dodavati jos neki pristupi. Recimo, da moderator moze pristupiti nekoj alatki koju super moderator ima po "defaultu".

Kako ste to vi odradili?
 
Odgovor na temu

dakipro
Dalibor Jovic
Web Developer
Bergen, Norway

Moderator
Član broj: 31848
Poruke: 1792
*.80-202-253.nextgentel.com.

Sajt: norway.dakipro.com


+190 Profil

icon Re: Organizacija administratorskih privilegija04.05.2013. u 22:42 - pre 132 meseci
Par puta sam pravio sisteme privilegija na neki od sledecih nacina:

1 ako ti je sistem modularan i/ili imas uvek kontroller i metod kontrolera onda mozes ubaciti sve kontrolere i metode (akcije, kako god) u bazu i dodeljujes dozvoljene i zabranjene kontrolere i akcije svakoj od grupa korisnika (ili svakom od korisnika pojedinacno po potrebi)

2 ako imas malo specificnije zahteve nekim oblastima sajta, onda napravis svoj niz privilegija sa recimo "make_campaign", 'view_campaigns', "changing_item_price" itd i svakoj grupi (ili pojedinacnom korisniku) dodeljujes sta on moze da radi i proveravas to u delovima aplikacije. Recimo u templejtima pre nego prikazes ADD dugme ti pitas jal on moze da doda to sto se dodaje, da li moze da vidi neki od linkova i slicno.

Sam model privilegija pravis kako ti deluje najlogicnije u trenutku ali se trudi da koriscenje bude prilicno jednostavo jer ces verovatno da menjas posle po potrebi kad/ako uvidis neke drugacije sablone.


 
Odgovor na temu

Mystery
Beograd

Član broj: 170918
Poruke: 76



+4 Profil

icon Re: Organizacija administratorskih privilegija04.05.2013. u 23:37 - pre 132 meseci
Hvala na odgovoru Daki.

E, pa to. Smislio sam sablon, ali reko' da vidim kako su to drugi odradili.
 
Odgovor na temu

dsivic

Član broj: 188446
Poruke: 105



+2 Profil

icon Re: Organizacija administratorskih privilegija05.05.2013. u 09:51 - pre 132 meseci
Ovako sam ja radio:

akcije mogu biti:

view, insert, edit, delete,... onda svakoj ovoj akciji dodijelim brojčanu vrijednost, zatim svakoj grupi odredim dokle mogu ici , prilikom login-a ucitam privilegije za korisnika i ispitujem sa nivo privilegija...

e sada ne znam da li je bolje jednom ucitati privilegije ili je bolje slati upit u bazu kada dode do određene akcije...?
 
Odgovor na temu

Mystery
Beograd

Član broj: 170918
Poruke: 76



+4 Profil

icon Re: Organizacija administratorskih privilegija05.05.2013. u 10:56 - pre 132 meseci
Mislim da to zavisi od tvoje aplikacije, tj. kako moras raditi. Ja ucitam privilegije odmah, a posebne privilegije samo kad treba.
 
Odgovor na temu

Nikola Poša
Backend (PHP) developer
Beograd

Član broj: 173839
Poruke: 1616
*.adsl-a-5.sezampro.rs.



+33 Profil

icon Re: Organizacija administratorskih privilegija06.05.2013. u 10:52 - pre 132 meseci
Ja bih ti savetovao da probaš sa nekim gotovim rešenjem, npr. Zend_Acl komponentom. Nju, kao i sve druge komponente ZF-a možeš da koristiš potpuno samostalno i nezavisno od ostatka framework-a, uz eventualno neke dependency-e od kojih ta komponenta zavisi.

Zend_Acl je po mom mišljenju jedna od najkorisnijih komponenti Zend Framework-a, komponenta kakvu nema nijedan drugi framework (neka me neko ispravi ako grešim). Ključni pojmovi su resursi, role i privilegije. Sve se svodi na princip da neka rola može imati pristup nekom resursu sa određenim privilegijama. Pritom, te tri stvari su maksimalno apstrakovane, u smislu da resurs može biti praktično bilo šta, fajl, red u bazi, mrežni resurs, šta god. Dakle na developeru je da postavi ACL prema svojim potrebama. Evo jednog primera iz dokumentacije, čisto da vidiš kako to uopšte izgleda i kako se Zend_Acl koristi:
Code:
$acl = new Zend_Acl();
     
$acl->addRole(new Zend_Acl_Role('guest'))
    ->addRole(new Zend_Acl_Role('member'))
    ->addRole(new Zend_Acl_Role('admin'));
     
$parents = array('guest', 'member', 'admin');
$acl->addRole(new Zend_Acl_Role('someUser'), $parents);
     
$acl->add(new Zend_Acl_Resource('someResource'));
     
$acl->deny('guest', 'someResource');
$acl->allow('member', 'someResource');
     
echo $acl->isAllowed('someUser', 'someResource') ? 'allowed' : 'denied';

Ovde imaš još jedan bolji primer iz prakse, gde se Zend_Acl koristi za definisanje prava pristupa u okviru nekog CMS-a.

Preporučujem ti da baciš pogled i na ovo Zend_Acl poglavlje u manual-u, koje opisuje još jednu veoma korisnu dodatnu funkcionalnost ove komponente, a to je pisanje dodatnih conditional assert-a, koji se mogu "zakačiti" na svaki ACL rule kojeg definišeš, čime mogućnosti postaju zaista neograničene.
 
Odgovor na temu

momca96
Niš

Član broj: 238466
Poruke: 8
*.dynamic.sbb.rs.

Sajt: www.momca96.com


Profil

icon Re: Organizacija administratorskih privilegija06.05.2013. u 12:49 - pre 132 meseci
Evo mozes npr. ovako:
http://pastebin.com/CyTBFcAX

Ovo sto sam napravio je samo primer ti iskoristi i napravi za bazu...

Preporucujem ako radis sa bazom da pises na papir broj privilegije.

Cuvas taj 1 broj koji dobijes i proveravas funkcijom. Brze se ucitava nego da izvlacis iz baze svaku privilegiju.

Znaci na pocetku uzmes privilegije iz baze i onda gde god treba ti proveris sa funkcijom.
Marko Momčilović
www.momca96.com
 
Odgovor na temu

Mystery
Beograd

Član broj: 170918
Poruke: 76



+4 Profil

icon Re: Organizacija administratorskih privilegija06.05.2013. u 18:30 - pre 132 meseci
Odradio sam ovo, napisao sam i kako u proslom postu, ali mozemo jos diskutovati na ovu temu. :)
 
Odgovor na temu

[es] :: PHP :: Organizacija administratorskih privilegija

[ Pregleda: 2260 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.