GUI pro dynamické Acl (Access Control List)

#1 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

GUI pro dynamické Acl (Access Control List)

Nazdárek,

napsal jsem grafické rozhraní pro správu přístupových práv.

  • Využívá moduly (celé GUI je v jednom modulu).
  • Instalace podporuje PostgreSQL nebo MySQL.
  • Přes GUI lze spravovat vše potřebné pro třídu Permission – tj.: privilegia, zdroje, role, uživatele a pravidla přístupů.
  • Podpora pro stromové struktury (role, zdroje).
  • Obsahuje ukázkovou stránku.
  • Popis ovládání ještě není hotový.
  • Popis instalace je součástí archivu.

Screenshots: Obr 1, Obr 2

Ocenil bych jakoukoliv kritiku, nápady, připomínky, dotazy.

Download: GUI for Acl
Aktuální verze: 1.0

Testováno na:
PHP: 5.2.5
Apache: 2.0.63
Nette Framework: 0.9.2 a 0.9.3
dibi: 1.2

S pozdravem
Bernard

Editoval Bernard Williams (30. 4. 2010 18:52)


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#2 před 2 lety

pekelnik
Nette guru
Registrovaný: 14. 2. 2009
Příspěvky: 372

Re: GUI pro dynamické Acl (Access Control List)

sfGuard pro Nette se začíná líhnout :)


_ _ _ _ _ _ _ _ _ __(_) |_| |____ _
/ _` | || | '_| || | | '_ \ | _| / / _` |
\__, |\_,_|_| \_,_| | .__/_|\__|_\_\__,_|

 

#3 před 2 lety

Patrik Votoček
Nette Evangelist
Registrovaný: 8. 3. 2008
Příspěvky: 2122

Re: GUI pro dynamické Acl (Access Control List)

jelikož se jedná o GUI možná by se hodil screenshot… :-)


Sorry my bad english.
Vrtak-CZ | Nella Project | Osobní Blog | Twitter | LinkedIn | GitHub
„Nastala chyba která neměla nastat“ aneb „Když se chce všechno jde.“

 

#4 před 2 lety

BigCharlie
Člen
Registrovaný: 13. 11. 2008
Příspěvky: 195

Re: GUI pro dynamické Acl (Access Control List)

Tak se přimlouvám za screenshot, protože při snaze o vyzkoušení mě zastavila hláška Resource 'ceska_sporitelna' does not exist.. A při letmém nahlédnutí do kódu demonstrační stránky se mi nechce definovat tolik zdrojů :-(

Nebo funkční demo?

 

#5 před 2 lety

Cifro
Nette guru
Registrovaný: 6. 2. 2007
Příspěvky: 258

Re: GUI pro dynamické Acl (Access Control List)

V DB v tabuľke gui_users si treba zmeniť heslo pre admina, pomocou md5(nove heslo), lebo nikde nie je zmienené aké je heslo…

A login je na /gui-for-acl-1.0/document_root/front/login/. Po prihlasení to zase presmeruje na Front:Default:Default a vyhodí tú Excpetion ale stačí zmeniť url napr. na /gui-for-acl-1.0/document_root/acl/users/ a ste tam.


Twitter: @Cifro | GitHub: Cifro

 

#6 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Hodil jsem na web nějaké náhledy – viz. první post.

Do archivu jsem zapomněl přidat dump databáze pro demo stránku – omlouvám se. Teď už to dump obsahuje (PostgreSQL/MySQL), proto stahujte – odkaz viz. první post.

Cifro napsal(a):

V DB v tabuľke gui_users si treba zmeniť heslo pre admina, pomocou md5(nove heslo), lebo nikde nie je zmienené aké je heslo…

Hesla jsou stejné jako jméno – tj. pro uživatele Admin je nastavené heslo Admin. Tohle je napsané na demonstrační stránce, ale protože jste neměli DB data, tak to házelo chybu o neexistujících zdrojích atd.

Cifro napsal(a):

A login je na /gui-for-acl-1.0/document_root/front/login/. Po prihlasení to zase presmeruje na Front:Default:Default a vyhodí tú Excpetion ale stačí zmeniť url napr. na /gui-for-acl-1.0/document_root/acl/users/ a ste tam.

Divné.. Tohle se mi nestalo a to jsem to teď zkoušel nově instalovat. Zkus si to znovu stáhnout a importovat demo DB.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#7 před 2 lety

Cifro
Nette guru
Registrovaný: 6. 2. 2007
Příspěvky: 258

Re: GUI pro dynamické Acl (Access Control List)

Už je to OK :)

Len… v config.ini je zlá voľba database.dbname a má byť database.database, a nezabudnite si zmeniť driver v configu, importol som mysql a papuľovalo že nemam pgdriver :D

Zabudol som poďakovať za toto GUI for ACL, určite pomôže, vďaka :)

Editoval Cifro (20. 4. 2010 13:17)


Twitter: @Cifro | GitHub: Cifro

 

#8 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Cifro napsal(a):
Len… v config.ini je zlá voľba database.dbname a má byť database.database, a nezabudnite si zmeniť driver v configu, importol som mysql a papuľovalo že nemam pgdriver :D

Zabudol som poďakovať za toto GUI for ACL, určite pomôže, vďaka :)

No ono to ani tak není „zlá voľba“. V PostgreSQL funguje dbname a v MySQL zase database. Nevím jak je to v nových verzích dibi, ale v té mé to musím rozlišovat.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#9 před 2 lety

Jakub Šulák
Nette guru
Registrovaný: 26. 8. 2008
Příspěvky: 253

Re: GUI pro dynamické Acl (Access Control List)

Možná trochu „povrchní“ připomínka, ale…

Začínají se tvořit komponenty s „tváří“. To je super, ale trochu mě mrzí jedna věc – ke každé použité komponentě je nutné nakopírovat X obrázků/ikon, Y javascriptů, apod.
Samozřejmě, mohu si komponentu přepsat (template), na své ikony, apod. – ale to je práce navíc.

Osobně bych možná otevřel debatu nad tím, zda nepoužívat nějaké UI pro komponenty. Nový „Falešný datagrid“ již začal – používa Jquery UI.

Výhodu spatřuji v:

  • není nutné pro každou komponentu kopírovat „její ikony“
  • komponenty jsou si podobné
  • jednoduše mohu změnit styl celé aplikace (všech komponent), změnou tématu, nebo napsáním vlastního

 

#10 před 2 lety

Etch
Člen
Registrovaný: 24. 9. 2008
Příspěvky: 194

Re: GUI pro dynamické Acl (Access Control List)

Bylo by potřeba aby si tam dořešil mazání uzlů a úklid v db.

  1. Pokud smažeš třeba resource tak by se měla uklidit tabulka „gui_acl“, aby tam nezůstávaly nesmyslné (nepotřebné) řádky.
  2. Mazání uzlů je dost dobře nepoužitelné, protože se nesmažou potomci. Bylo by tedy potřeba dodělat smazání všech potomků při mazání uzlů ať již rekurzí či jiným mechanismem.

EDIT: Dále by bylo možná dobré používat modely.

Editoval Etch (22. 4. 2010 12:28)

 

#11 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Etch napsal(a):

Bylo by potřeba aby si tam dořešil mazání uzlů a úklid v db.

  1. Pokud smažeš třeba resource tak by se měla uklidit tabulka „gui_acl“, aby tam nezůstávaly nesmyslné (nepotřebné) řádky.
  2. Mazání uzlů je dost dobře nepoužitelné, protože se nesmažou potomci. Bylo by tedy potřeba dodělat smazání všech potomků při mazání uzlů ať již rekurzí či jiným mechanizmem.

V PostgreSQL mi tohle hlídají cizí klíče, takže tohle dořešené mám. Ty nejspíš používáš MySQL, když ti to nejde. Je pravda, že tam jsem ty cizí klíče neexportoval, protože si nejsem úplně jistý o jejich funčnosti (jestli to funguje stejně jako v PostgreSQL).


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#12 před 2 lety

Etch
Člen
Registrovaný: 24. 9. 2008
Příspěvky: 194

Re: GUI pro dynamické Acl (Access Control List)

Předpokládal sem, že to v PgSQL budeš mít udělané přes cizí klíče. Ale pokud to tak je tak nechápu proč si pro mysql nepoužil InnoDB, ale MyISAM. Proto sem také psal „vyřešit jiným mechanismem“.

EDIT: Typo

Editoval Etch (22. 4. 2010 12:28)

 

#13 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Já primárně dělám v PostgreSQL. Do MySQL jsem to exportoval jen kvůli komunitě.

Teď jsem na to koukal do dokumentace a cizí klíče fungují opravdu jen v InnoDB, což je možná důvod, proč mi doma nefungovaly. Hned jak bude chvilka, tak to převedu na InnoDB a cizí klíče dodám.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#14 před 2 lety

Honza Kuchař
Moderator
Registrovaný: 12. 8. 2007
Příspěvky: 1588

Re: GUI pro dynamické Acl (Access Control List)

Vypadá to hodně dobře. Nechceš to přidat do extras? Ať je to na jednom místě.

 

#15 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Etch napsal(a):

Předpokládal sem, že to v PgSQL budeš mít udělané přes cizí klíče. Ale pokud to tak je tak nechápu proč si pro mysql nepoužil InnoDB, ale MyISAM. Proto sem také psal „vyřešit jiným mechanismem“.

Tak jsem to převedl do InnoDB a vložil cizí klíče. Změny jsou už v archivu, takže si to můžeš stáhnout.

honzakuchar napsal(a):

Vypadá to hodně dobře. Nechceš to přidat do extras? Ať je to na jednom místě.

Ještě bych rád počkal na nějaké další odezvy a pak to tam hodím.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#16 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

Mám asi hloupou otázku, ale potřeboval bych poradit, jak mohu přidat nějaký projekt do Google Code. Nikde tam nevidím žádný odkaz.. Nebo je to jen pro „vyvolené“? Rád bych tam umístil tento doplněk. Díky


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#17 před 2 lety

wopice
Člen
Registrovaný: 23. 10. 2009
Příspěvky: 16

Re: GUI pro dynamické Acl (Access Control List)

Bernard Williams napsal(a):

Mám asi hloupou otázku, ale potřeboval bych poradit, jak mohu přidat nějaký projekt do Google Code. Nikde tam nevidím žádný odkaz.. Nebo je to jen pro „vyvolené“? Rád bych tam umístil tento doplněk. Díky

http://code.google.com/…reateProject

 

#18 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

wopice napsal(a):

http://code.google.com/…reateProject

Díky, to jsem přesně hledal.

honzakuchar napsal(a):

Vypadá to hodně dobře. Nechceš to přidat do extras? Ať je to na jednom místě.

Je to tam. Je to má první stránka tady na wiki, takže kdyby ji chtěl kdokoliv upravit, doplnit, tak jen směle do toho :-)

Editoval Bernard Williams (30. 4. 2010 18:56)


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#19 před 2 lety

Honza Kuchař
Moderator
Registrovaný: 12. 8. 2007
Příspěvky: 1588

Re: GUI pro dynamické Acl (Access Control List)

Ještě bych tam doplnil, pro kterou veri PHP to je.

 

#20 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

honzakuchar napsal(a):

Ještě bych tam doplnil, pro kterou veri PHP to je.

Ta by měla být dána verzí Nette. Samotná aplikace nevyužívá nic speciálního z PHP.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#21 před 2 lety

hrach
Nette guru
Registrovaný: 11. 3. 2007
Příspěvky: 519

Re: GUI pro dynamické Acl (Access Control List)

bylo (asi) myšleno jestli PHP 5.2 nebo 5.3…(namespace)

Editoval hrach (2. 5. 2010 21:05)

 

#22 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

hrach napsal(a):

bylo (asi) myšleno jestli PHP 5.2 nebo 5.3…(namespace)

To mě napadlo, a proto jsem taky uvedl, že samotná aplikace nevyužívá nic speciálního (jako např. namespace).. Ale abych to nějak uzavřel, tak aplikaci jsem psal pod PHP 5.2. Na PHP 5.3 jsem to netestoval.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#23 před 2 lety

ic
Nette guru
Registrovaný: 28. 3. 2009
Příspěvky: 306

Re: GUI pro dynamické Acl (Access Control List)

v souboru app/AclModule/presenters/PermissionPresenter.php je na řádku 198 zatoulaný napevno zadaný název tabulky

$rows = dibi::fetchAll('SELECT id, name FROM [gui_acl_privileges] ORDER BY name;');

jiného místa kde se názvy tabulek nedosazují jsem si nevšiml.

 

#24 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

@ic: Díky. Hned jak bude čas, tak to opravím v nové verzi.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#25 před 2 lety

sin
Člen
Registrovaný: 29. 7. 2009
Příspěvky: 85

Re: GUI pro dynamické Acl (Access Control List)

Pro demo na mysql je potřeba přidat následující řádek, jinak to pise „No database selected“

database.database = gui-for-acl

 

#26 před 2 lety

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

@sin: Tohle je popsáno v souboru install.cs.txt uvnitř archivu. PostgreSQL používá dbname, ale MySQL database.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#27 před rokem

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

lopikol: Můžeš to použít jako již kompletní administraci pro ACL. Rozšíření je nutné pouze v případě speciálních požadavků.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#28 před rokem

roarbb
Člen
Registrovaný: 16. 1. 2011
Příspěvky: 20

Re: GUI pro dynamické Acl (Access Control List)

Funguje to super, dakujem :) Mam len jeden maly problem. Potreboval by som aplikaciu spustat z rootu, teda premiestnit index.php z „/document_root“ do „/“. Prepisal som v indexe cestu k WWW_DIR. Teraz vsak nefunguje http:/ /localhost/moja_aplikacia/front/login/. Hlasi 404 :/

Dakujem za kazdu radu zaciatocnikovi.

Editoval roarbb (12. 4. 2011 21:08)

 

#29 před rokem

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

roarbb: Konstantu WWW_DIR nech beze změny – ta se určí sama podle umístění souboru index.php. Z konstant APP_DIR a LIBS_DIR* odstraň „../“ a mělo by to vše jít. Pro jistotu si ještě smaž obsah složky temp.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#30 před 9 měsíci

thool
Nový člen
Registrovaný: 5. 8. 2011
Příspěvky: 7

Re: GUI pro dynamické Acl (Access Control List)

Po debugovacím maratonu se mi podařilo tento plugin rozjet na nette 2.0-beta :-)

Jde nějak nastavit pravidlo:
nejaka_role – nejaky_resource – ALL

Abych to nemusel otrocky vypisovat?

 

#31 před 9 měsíci

Bernard Williams
Nette guru
Registrovaný: 9. 7. 2009
Příspěvky: 210

Re: GUI pro dynamické Acl (Access Control List)

V sekci Permission bys měl mít v MultiSelectu možnost „- All resources -“ a „- All privileges -“.


Lidé nechtějí od života žádat mnoho, protože se bojí prohry. Kdo však touží svádět dobrý boj, musí pohlížet na svět jako na nesmírný poklad, který tu čeká, aby byl dobyt.
 – Paulo Coelho –

www.Santiaco.cz | www.MaturitniTabla.cz

 

#32 před 9 měsíci

thool
Nový člen
Registrovaný: 5. 8. 2011
Příspěvky: 7

Re: GUI pro dynamické Acl (Access Control List)

:) No tak potom není co řešit.

mimochodem soubor PermissionPresenter.php line 83 – tabulka TABLE_PRIVILEGES je tam hardcoded, hodilo by se spíš

$rows = dibi::fetchAll('SELECT id, name FROM ['.TABLE_PRIVILEGES.'] ORDER BY name;');

Jinak dobrá práce tohle ACL GUI, díky.

Editoval thool (18. 8. 2011 21:40)

 

Zápatí