| Zabezpečenie rozšírení pre Joomla! 1.5.x |
|
|
|
| Rady a návody - Vývoj rozšírení | |||
| Napísal Karol Čejka | |||
| Streda, 17 Jún 2009 00:00 | |||
|
Rozšírenia administrácie, ale aj verejnej časti Joomla! si vyžadujú ochranu pred neautorizovaným prístupom. Joomla! pre tento účel využíva svoje vnútorné funkcie, ktorých jednoduché použitie bude ukázané ďalej v článku. Každý, kto sa problematikou autorizovaného prístupu v Joomla! zaoberal, ako prvú vec hľadal určitú implementáciu v databáze. V databáze sa nachádzajú tabuľky s prefixom jos_core_acl, ale žiaľ po bližšom preskúmaní zistíte, že je tam málo záznamov a niečo nie je v poriadku. Joomla používa pre autorizáciu knižnicu phpGACL (Generic Access Control List). Žiaľ praktické používanie tejto knižnice je dosť zvláštne. Implementácia v rámci Joomla sa dá rozdeliť na dve časti:
Prečo tomu tak je nie je známe, ale je možné, že vo vyšších verziách sa to zmení, preto je potrebné sledovať oznamy o vydaní nových verzií. To má dopad na celé riešenie autorizácie v rámci Joomla! Veľká časť definícií sa nachádza v súbore authorization.php, ktorú nájdete na ceste /libraries/joomla/user/authorization.php Praktický príklad použitia v rámci rozšírení: $acl =& JFactory::getACL(); V prvom kroku sa získa objekt JAuthorization. Nasleduje definícia ACL pre vaše rozšírenie. Namiesto com_jcatalog je potrebné zadať názov vašeho rozšírenia. Nakoniec získate objekt JUser a vykonáte test na autorizáciu. Ak je autorizácia používateľa nevyhovujúca, zašle sa používateľovi oznam o tom že nemá dostatočné práva.
|
|||
| Posledná úprava Streda, 17 Jún 2009 10:41 |





