Funzionamento delle ACL
Una delle novità più importanti introdotte con il rilascio Joomla 1.6 riguarda la possibilità di utilizzare un nuovo sistema per la gestione delle ACL, le Access Control List, in pratica l'amministrazione dei diversi livelli di accesso ai contenuti e alle funzionalità di Joomla.
La gestione dei permessi utente è un meccanismo estremamente utile in alcune occasioni, come per esempio nel caso dei siti Web i cui contenuti vengono gestiti in multi-utenza, Joomla 1.6 consente di gestire questo sistema in modo molto più flessibile rispetto al passato, con particolare attenzione alle esigenze dell'utenza più avanzata; non sarà invece necessario, ed è anzi sconsigliabile, definire strutture complesse per l'accesso alle risorse nei siti gestiti da staff numericamente limitati.
Per comprendere meglio le ACL in Joomla, è necessario fare riferimento alla sua struttura che prevede alcune componenti essenziali:
- user: non è necessariamente un utente registrato, può essere anche una persona che si limita a visitare le pagine del nostro sito Web basato sul Joomla ("utente pubblico"); è possibile assegnare gli utenti a dei gruppi e saranno i gruppi di appartenenza ad avere associate le autorizzazioni di base, non i singoli utenti, se si desidera associare permessi specifici ad un singolo utente, sarà quindi necessario creare un apposito gruppo a cui associarlo;
- gruppi: un gruppo rappresenta un insieme di utenti accomunati dal fatto di avere associate le stesse autorizzazioni; nell'ultima versione di Joomla è possibile che uno stesso utente appartenga a più gruppi;
- livelli di accesso: essi riguardano essenzialmente cosa è possibile visualizzare o meno nel front end di un sito Internet, Joomla 1.6 prevede, come nella versione precedente, tre livelli d'accesso predefiniti, cioè "public", accesso in lettura indiscriminato ai contenuti, "registered", accesso in lettura soltanto per gli utenti registrati, "special", accesso in lettura consentito ai soli autori o utenti di livello superiore, inoltre, consente la definizione di livelli di accesso personalizzati. I livelli d'accesso non sono ereditabili, quindi un livello d'accesso associato ad un utente di livello inferiore, non sarà automaticamente associato ad uno di livello superiore;
- permessi o autorizzazioni di base: come specificato in precedenza, questi non possono essere associati ai singoli utenti, ma soltanto ai gruppi, un gruppo può però essere composto da un solo utente.
Nello specifico le autorizzazioni di base disponibili in Joomla sono 8:
- login al front-end: permette di accedere ai contenuti non pubblici del sito ma non all'area di amministrazione;
- login al back-end: consente di accedere all'area di amministrazione del sito Internet;
- Admin: consente di agire sulle configurazioni globali del sito, le operazioni effettuate potranno produrre effetti sia sul front end che sul back end;
- Gestione: mette a disposizione strumenti per intervenire sulle impostazioni relative alle estensioni;
- Creazione: permette di generare contenuti pubblicabili;
- Rimozione: consente di cancellare dei contenuti;
- Editing: permette di apportare modifiche ai contenuti;
- Modifiche di stato: consente di alterare lo stato di un contenuto, ad esempio la pubblicazione di un articolo in attesa di approvazione (o viceversa), così come il suo spostamento nel cestino.
Fino alla versione 1.5 di Joomla, i permessi utente avevano un'impostazione e un funzionamento prettamente gerarchici, infatti, per cui ciascun gruppo di utenti venivano ereditate le autorizzazioni da parte dei gruppi al di sotto di esso, il sistema prevedeva in pratica che un'azione permessa ad un appartenente di un gruppo inferiore doveva essere consentita anche ai componenti di un gruppo di livello superiore; con Joomla 1.6 questa caratteristica non è più predominate, infatti in essa è possibile associare ai vari gruppi tutti i permessi desiderati, essi verranno ereditato dai gruppi "genitore" ma lo stesso meccanismo non avrà valore per quanto riguarda i livelli di accesso.