Panoramica sui concetti ACL di Joomla 1.6, 1.7 e 2.5 |
|
|
|||
|
Autore :
claudiod » Questo articolo è stato letto: 7152 volte » |
|||||
|
Scritto da Jen Kramer traduzione di Claudio Driussi, articolo originale Note sulla traduzione: In questo articolo sono stati mantenuti in inglese i termini che sono in inglese anche nei siti Joomla. Ad esempio i Gruppi predefiniti Public, Registered ecc... Questo articolo si basa su due articoli scritti in origine per Joomla 1.6 ed è stato scritto in dicembre 2011, prima del rilascio della versione 2.5. Però si presume che i concetti ACL non siano cambiati tra queste versioni, anche se ci possono essere minime differenze nell'interfaccia. Una delle più importanti innovazioni della versione 1.6 è il Access Control Lists (ACL). Si riferisce a chi ha il permesso di fare cosa nel sito web, incluso leggere, creare, modificare, cancellare, o login, oltre ad altri permessi.
Molte cose di ACL hanno relazione solo con il front-end del sito. Per esempio quando faccio il login quali articoli ho a disposizione? E se qualcun altro fa il login, può vedere gli stessi articoli o ne può vedere altri? Comunque ACL si occupa anche di chi ha i diritti di creare, modificare, e cancellare contenuti; chi può pubblicare o sospendere contenuti; chi può fare il login nel front-end o nel back-end del sito; e chi può fare modifiche a quali componenti, moduli o templates. Solo perché puoi non significa che dovresti! ACL è complesso, e richiede un po' di tempo per capire esattamente come funziona. Per molti siti e forse per la maggior parte, potresti non aver bisogno di modificare la configurazione predefinita di Joomla. Però se stai facendo un sito di più grandi dimensioni potrebbe tornarti utile. Esempi in cui ACL dovrebbe essere richiesto includono:
ACL nella versione 1.5 di JoomlaJoomla 1.5 ha un sistema di ACL limitato e fisso. Se in passato hai lavorato con Joomla 1.5, hai visto come impostare la visibilità di una voce di menu per il pubblico, per gli utenti registrati o per i "speciali" (autori o più). Allo stesso modo sai che gli utenti registrati non possono fare il login nel back-end del sito Joomla, mentre invece il super amministratore può. Joomla 1.5 è gerarchico, significa che ogni gruppo di utenti eredita i permessi dei gruppi soprastanti. Una spiegazione completa dei gruppi di Joomla 1.5 si trova su brian.teeman.net. I gruppi comprendono pubblico, registrato, autore, editore, publisher, manager amministratore e super amministratore. (per publisher e manager usiamo termini inglesi perché in italiano sono sinonimi N.D.T.) Il livello di accesso di Joomla 1.5 comprende pubblico, registrato e special. Pubblico significa che tutti possono vedere il contenuto. Registrato che coloro che hanno l'accesso registrato o maggiore possono vedere il contenuto. Special è per gli Autori e superiori. Non c'è modo di aggiungere altri livelli di accesso e neppure di segmentare l'utenza in modo più raffinato. ACL in Joomla 1.6 o superiori: PanoramicaIn Joomla 1.6+ l'ACL non è necessariamente gerarchica. Puoi configurare i gruppi con i permessi che vuoi. Questi permessi sono ereditati dai genitori nel caso dei gruppi ma non lo sono per il livello di accesso. Come minimo tutti i gruppi di utenti sono figli del gruppo Pubblico. Ci sono quattro aspetti del sistema ACL di Joomla 1.6+. Sono l'utente, il gruppo, i permessi principali ed il livello di accesso. Ho rappresentato questi aspetti nel seguente diagramma per descrivere le relazioni, ed ora procedo a descrivere in dettaglio.
Utente (user)Non è il più facile da capire, sei tu, o qualcun altro che visita il sito. L'utente non ha la necessità di avere un account per essere considerato utente dal sito. Quell'utente verrà comunque considerato come utente pubblico. Ogni singolo utente può essere assegnato ad uno o più gruppi. Non puoi assegnare permessi principali direttamente ai singoli utenti, si possono assegnare solo ai gruppi. Permessi principali (Core Permissions)I permessi principali vengono assegnati ai gruppi e non ai singoli utenti. (Se vuoi assegnare un permesso ad un singolo utente, devi creare un gruppo solo per lui.) I permessi principali sono:
Capire i Permessi Principali nella Configurazione Globale
Nel gruppo dei Manager che si vede sopra e negli altri gruppi escluso il Public, ogni casella di scelta mostra tre opzioni: Consentita, Negata ed Ereditata, Il gruppo Public è padre di tutti gli altri nella gerarchia e la casella di spunta mostra tre opzioni che sono Consentita, Negata e Non impostata.
Note particolari sui Permessi Principali assegnati nella Configurazione GlobaleQuando i Permessi sono impostati a livello della Configurazione Globale, vengono propagati in tutto il sito. Per esempio un Autore (Author) ha il permesso Crea a livello globale. Quell'autore può creare articoli in tutte le categorie del sito. Il permesso Crea significa anche che essi possono creare nuovi Link web dal front-end del sito, se il componente Link web è attivato. Forse dovresti prestare attenzione a dove i permessi vengono assegnati in Joomla. Non dovresti impostare il permesso Crea nella Configurazione Globale se vuoi che un gruppo possa creare solo Articoli e Categorie. Potresti anche assegnare questi permessi Nelle opzioni della Gestione Articoli. Approfondirò questo argomento in un prossimo articolo. Tutto sulla negazionePotresti essere tentato di impostare tutte queste caselle a Consentito o Negato perché sono più facili da leggere. Ti raccomando caldamente di NON farlo. Se imposti Negato in un permesso, anche se metti Consentito per un gruppo ad un livello più alto, la negazione ad un livello più basso sarà ereditata ed annullerà il consenso a livello più alto. Per esempio, se imposti il gruppo Public a Negato per tutto, non ci sarà modo di fare niente nei gruppi ereditati. A tutti sarà negato di fare qualsiasi cosa eccetto che per i Super Users. Gruppo (User Group)Un gruppo di utenti (chiamato anche solo Gruppo) è un gruppo di utenti che condividono gli stessi permessi. Usando i gruppi di Joomla 1.5 come esempio, il gruppo Publisher ha il permesso di fare il login nel front-end sito, creare nuovi articoli, modificare tutti gli articoli, e pubblicare o sospendere articoli. Tutti gli appartenenti del gruppo hanno il permesso di fare le stesse cose. A differenza di Joomla 1.5 da Joomla 1.6+, un utente può essere assegnato a più gruppi. Un utente può ad esempio appartenere al gruppo Publisher e al gruppo Administrator. Puoi creare il tuo gruppo ed assegnargli i propri permessi. I permessi sono ereditati tra i gruppi. Un gruppo può essere creato per due differenti ragioni. La prima può essere per vedere contenuti nel front-end del sito. (I gruppi sono assegnati ai livelli di accesso per vedere i contenuti nel lato front-end.) La seconda può essere per specificare quali contenuti possono essere creati, cancellati, modificati, pubblicati, sospesi o gestiti dal gruppo. Il visitatore del sito che non effettua login viene considerato come utente appartente al gruppo Public. I gruppo Public non può essere cancellato mentre tutti gli altri lo possono. (Ma consigliamo di non farlo, perché forniscono un buon modello di come funziona l'ereditarietà.) I gruppi predefinitiJoomla 1.6+ automaticamente configura gli stessi gruppi che sono presenti in Joomla 1.5. I gruppi ed i loro permessi sono i seguenti:
Livello di accesso (Access Level)Il livello di accesso si riferisce a chi può vedere quali contenuti nel front-end del sito web. Essenzialmente questo comporta la lettura dei permessi nel front-end del sito. Storicamente ci sono tre livelli di accesso: public (tutti possono vedere), restricted (devi fare il login per vedere il contenuto), o special (devi fare il login come author o superiore per vedere il contenuto). Questi livelli di accesso sono ancora presenti in Joomla 1.6+ come livelli predefiniti, però puoi anche creare i tuoi livelli di accesso personali. I livelli di accesso non ereditano i loro permessi. Se un articolo è reso visibile solo per i publishers con un livello di accesso personalizzato, nemmeno il super administrator lo potrà vedere. Dovrai assegnare al super user al gruppo dei publisher per poter vedere l'articolo dal lato front-end del sito, oppure dovrai assegnare ai publisher e al super user lo stesso livello di accesso. (In ogni caso, come super user potrai comunque modificare l'articolo dal bach-end.) Che cosa succede dopo?Sto scrivendo una serie di casi di studio che potrete seguire per mettere in azione questi principi. Gli esempi comprenderanno:
Articoli più recenti:
|




