Che cosa bisogna sapere su Joomla 1.6 Parte 3: Gestione dei permessi (ACL) |
|
|
|||
|
Autore :
Simone Sarigu » Questo articolo è stato letto: 16966 volte » |
|||||
|
Questo è il terzo di una serie di post del blog sui cambiamenti in Joomla 1.6.
Se hai sentito qualcosa su Joomla 1.6, è probabile che avrai sentito parlare di due nuove e interessanti funzionalità: le categorie annidate e qualcosa chiamato ACL. ACL sta per access control levels (gestione dei livelli d'accesso). Riguarda a chi ha le autorizzazioni per fare qualcosa nel sito web incluso, leggere, creare, modificare, cancellare e accedere al sito. Molti pensano che ACL si riferisca solamente al front end di un sito web. Per esempio, quali articoli posso leggere quando accedo nel sito web? E se un altro utente accede nel sito, vede gli stessi articoli oppure quelli che vedrà sono diversi? Tuttavia, ACL si riferisce anche a chi ha i permessi per creare, modificare, ed eliminare un contenuto, a chi può accedere nel front end o nel back end del sito e a chi, può modificare componenti e moduli.
Esempi in cui l'ACL potrebbe essere necessario:
L'ACL in Joomla 1.5Gli ACL di Joomla 1.5 sono limitati. Se avete lavorato con Joomla 1.5, avrete visto come può essere impostata una voce di menù, o un articolo, per essere visibile agli utenti registrati o speciali (autori o superiori). Probabilmente sapete che gli utenti registrati non possono accedere nel back end di un sito Joomla, al contrario di un super administrator. L'ACL di Joomla 1.5 è gerarchica, nel senso che ogni gruppo di utenti eredita le autorizzazioni da parte dei gruppi sotto di esso. Potete trovare una spiegazione completa dei gruppi di Joomla 1.5 su brian.teeman.net. I gruppi includono lato pubblico, Registered, Author, Editor, Publisher, Manager, Administrator, Super Administrator. I livelli di accesso di Joomla 1.5 includono public, registered e special. Potete trovare una spiegazione dei livelli di accesso su Revision Technology. ACL in Joomla 1.6: PanoramicaL'ACL di Joomla 1.6 non è gerarchica. Possiamo impostare i gruppi con tutti i permessi che vogliamo. I permessi sono ereditati dal gruppo genitore nel caso dei gruppi, ma non sono ereditati dai livelli di accesso. Questi sono quattro aspetti del sistema ACL in Joomla 1.6. Includono utenti, gruppi, permessi di base e i livelli di accesso. Gli ho rappresentati nello schema seguente per descrivere il rapporto tra di loro e poi, li analizzerò in dettaglio. UserQuesto è il più semplice da capire. Sei tu, o chiunque visita il sito web. Un user non deve essere necessariamente registrato per essere reputato un utente del sito in quanto, potrebbe essere considerato un utente pubblico. Ogni utente può essere assegnato a uno o più gruppi. Invece, non è possibile assegnare le autorizzazioni di base agli utenti, queste sono assegnate ai gruppi. Autorizzazioni di baseLe autorizzazioni di base sono assegnate al gruppo, non ai singoli utenti. (Se volete assegnarle a un singolo utente, dovrete creare un gruppo per quel singolo utente.) Le autorizzazioni di base includono:
Le autorizzazioni di base si impostano da Configurazione Globale cliccando nella tabella Permessi. Spiegherò meglio questa possibilità nel secondo articolo sulle ACL. GruppiUn gruppo è un insieme di utenti che hanno gli stessi permessi. Prendendo per esempio i gruppi di Joomla 1.5, il gruppo publisher può loggare nel front end del sito, creare nuovi articoli, modificare quelli già esistenti, renderli pubblici o annullare la pubblicazione. Tutti gli utenti del gruppo publisher hanno gli stessi permessi. In Joomla 1.6, un utente può essere assegnato a più gruppi, per esempio nel gruppo publisher e nel gruppo administrator. E' possibile assegnare le autorizzazioni di base ai gruppi creati. Le autorizzazioni di base vengono ereditate tra i gruppi. Un gruppo potrebbe essere creato per due diverse ragioni. Una per vedere il contenuto nel front end del sito, l'altra, per specificare quale contenuto può essere creato, modificato, cancellato, pubblicato o non pubblicato e modificato da un gruppo specifico. Un utente non registrato sul sito viene considerato appartenente al gruppo Public. Il gruppo Public e il gruppo Registered non possono essere eliminati al contrario di tutti gli altri gruppi. (Comunque, vi consigli di tenerli, perchè danno un buon modello su come funziona l'ereditarietà delle autorizzazioni.) Livelli d'accessoI livelli d'accesso riguardano, a chi può e a cosa può vedere, nel front end del sito web. In sostanza, sono le autorizzazioni di lettura sul front end del sito. Storicamente ci sono stati tre livelli di accesso: public (tutti possono vedere i contenuti), registered (si deve accedere sul sito per vedere i contenuti), special (bisogna avere un livello author o superiore per vedere il contenuto). Questi livelli di accesso sono ancora presenti in Joomla 1.6 come default, ma si possono creare dei livelli d'accesso personalizzati. I livelli di accesso non ereditano i permessi. Se si imposta un articolo visibile solo dai publishers, anche i super admin non potranno vederlo. (Comunque, con i permessi di super admin, si potrà modificare dal back end.) Voglio che diverse persone vedano diversi contenuti quando accedono nel sitoOra che hai una conoscenza della terminologia ACL, proviamo a realizzare un sistema semplice con Joomla 1.6. Prima di iniziare è necessario impostare una strategia ACL per il sito web. Iniziamo con la descrizione del problema che stiamo cercando di risolvere: Per il sito web della scuola che sto sviluppando:
Nota che abbiamo parlato solo dei contenuti che possono essere visti e non abbiamo parlato di modifica, creazione e gestione dei contenuti. Questo indica un problema di lettura o un problema con i livelli di accesso. Quindi, abbiamo tre gruppi: public, studenti e insegnanti. Il gruppo public è già esistente, ma dovremo creare i gruppi studenti e insegnanti e assegnarli i permessi per accedere al front end del sito. Provvederemo quindi a creare i nostri contenuti in modo tale che gli insegnanti vedano tutti i contenuti, insegnanti e studenti, mentre gli studenti solo i contenuti per gli studenti. Procederemo in questo modo:
1. Creare i gruppiPer creare un gruppo, accediamo nel back end del sito Joomla 1.6. Nel menù superiore andiamo su Utenti - Aggiungi nuovo gruppo. Vedremo questa schermata.
2. Assegnare le autorizzazioni di baseI gruppi Studenti e Insegnanti, hanno ereditato le autorizzazioni di base del Gruppo Principale. Il gruppo Registered ha impostato per default l'autorizzazione per accedere al front end del sito, quindi, in questo caso, non abbiamo bisogno di assegnare altri permessi ai gruppi. 3. Creare Utenti, assegnare ai GruppiOra che abbiamo creato i gruppi, dovremo creare degli utenti e assegnarli ai gruppi. Andiamo su Utenti - Aggiungi Nuovo Utente
Lasciamo impostate come default le Impostazioni di base e passiamo ai Gruppi Assegnati. Per impostazione predefinita, il gruppo Registered è selezionato e Public è in grigio. Questo ci ricorda che il gruppo Registered eredita i permessi del gruppo Public. Scegliamo Insegnanti dalla lista. Notare che ora le opzioni Registered e Public sono in grigio. Questo perchè entrambi i gruppi, Registered e Insegnanti, hanno come gruppo genitore Public. Clicchiamo su "Salva e Nuovo", e ripetiamo lo stesso procedimento per un user Studente. Il nome dello studente è Dave Smith e l'username è david. Assegniamo David al gruppo studenti e clicchiamo su Salva e Chiudi. 4. Creare i livelli di accessoOra che abbiamo gli utenti, le autorizzazioni di base e i gruppi, non ci resta che creare due livelli di accesso, uno per gli studenti e uno per gli insegnanti. Andiamo su Utenti - Aggiungi Nuovo Livello di Accesso
Nel campo Nome Livello, inseriamo Accesso Insegnanti. Selezioniamo la casella vicino al Gruppo Insegnanti. In questo modo solo il gruppo selezionato potrà vedere i contenuti del Gruppo Insegnanti. Clicchiamo su Salva e Nuovo, e inseriamo Accesso Studenti come Titolo Livello e selezioniamo le caselle Gruppo Insegnanti e Gruppo Studenti. Ciò consentirà agli Insegnanti di visualizzare entrambi i contenuti. 5. Creare le CategorieCreiamo una categoria per gli insegnanti (Contenuti - Nuova Categoria):
Creiamo anche una categoria per gli studenti e selezioniamo Accesso Studenti. Configuriamo le categorie nello stesso modo tranne che per l'accesso. 6. Creare gli ArticoliPrepariamo un articolo per gli Insegnanti nella categoria Insegnanti. Per creare un nuovo articolo andiamo su Contenuto - Nuovo Articolo.
Compiliamo i campi in questo modo
Clicchiamo su Salva e Nuovo e ripetiamo l'operazione per gli Studenti:
Clicchiamo su Salva e Chiudi appena finito. 7. Creare le voci di menuOrganizziamo le voci di menù. Nel menù principale ( Menù - Menù Principale), aggiungiamo due voci, una per gli insegnanti e una per gli studenti. Per creare il collegamento, clicchiamo su Nuovo (in alto a destra), scegliamo Lista Categorie come tipo di menù e inseriamo le informazioni come nella screen qua sotto:
Clicchiamo su Salva e Nuovo e ripetiamo il procedimento per gli studenti:
Clicchiamo su Salva e Chiudi. 8. Testiamo i loginFinalmente abbiamo configurato tutto per avere diversi contenuti per studenti e insegnanti nel nostro sito. Prima del test, disabilitiamo la cache nel sito web andando su Sito - Configurazione Globale, Tabella System e impostiamo la cache su off (Questo è dovuto a un bug in Joomla 1.6 Beta 6.)
Clicchiamo su "Salva e Chiudi". Ora, andiamo nel front end del sito. Inseriamo msjones come username e la password che abbiamo scelto per l'insegnante Ms. Jones. Se tutto è stato impostato correttamente, dovresti vedere due collegamenti nel menù principale, "Informazioni Insegnanti" e "Informazioni Studenti". Facciamo il log out e inseriamo i dati d'accesso per lo studente David Smith. Ora nel menù principale dovresti vedere la sola voce "Informazioni Studenti". ConclusioniSe avete seguito questa guida fino alla fine, probabilmente ci avrete messo 15 minuti per completarla, forse un po' di più se usate Joomla 1.6 da poco tempo.
Nel mio prossimo articolo sull'ACL, spiegherò come impostare i permessi per: creare, modificare ed eliminare i contenuti; accedere nel front end o nel back end del sito; gestire le estensioni e le autorizzazioni d'amministrazione. Articolo scritto da Kristoffer Sandven su Joomla.org e tradotto da Simone Sarigu
Articoli più recenti:
|












