Come amministratore di qualsiasi sistema, vorresti sempre una funzionalità che ti permetta di delegare determinate responsabilità a un gruppo di utenti fidati. Ti consente anche di impostare i flussi di lavoro che ti aiutano a mantenere un sito in modo fluido e a mantenere lo stress inutile lontano.
Oggi vedremo quali risorse sono disponibili in OpenCart e come potresti concedere determinati tipi di permessi su tali risorse a un gruppo di utenti. Passeremo attraverso il back-end per esplorare queste funzionalità e i gruppi di utenti saranno l'argomento della nostra discussione nella parte successiva di questo articolo.
Suppongo che tu stia utilizzando l'ultima versione di OpenCart. Inizieremo con un'introduzione di base a risorse e permessi.
In qualsiasi sistema ACL (Access Control List), esistono due entità importanti: autorizzazioni e risorse. Le risorse vengono esposte con determinate autorizzazioni al gruppo di utenti, in modo che possano eseguire diverse azioni sulle risorse. Naturalmente, ogni sistema ha il proprio modo di organizzare risorse e permessi.
In questa sezione, lo esamineremo nel contesto di OpenCart.
Sarai sorpreso di sapere che tutti i file controller nel lato admin sono trattati come risorse. Quindi, la risorsa "catalogo / attributo" viene mappata sul file che si trova in admin / regolatore / Catalogo / attribute.php
. Quindi, ogni volta che assegni quella particolare risorsa a qualsiasi gruppo di utenti, saranno in grado di eseguire tutte le azioni definite nel corrispondente file del controller.
Dirigiti verso il back-end e vai a Sistema> Utenti> Gruppi utenti. Modifica uno dei gruppi di utenti: modificiamo un Amministratore gruppo, per esempio.
Ora, come puoi vedere, tutte le risorse sono elencate nella casella a discesa. Ovviamente, se crei un nuovo file controller per il tuo modulo personalizzato, verrà raccolto anche tu.
Questa è un'introduzione di base alle risorse. Nella prossima sezione vedremo come le risorse sono associate alle autorizzazioni.
In OpenCart, le autorizzazioni sono divise in due categorie principali: accesso e modifica. Gli utenti con autorizzazione di accesso potranno solo visualizzare le risorse, mentre il permesso di modifica consente agli utenti di aggiungere / modificare le informazioni sulle risorse.
Quindi questa è stata un'introduzione alle risorse e ai permessi. Nelle prossime sezioni vedremo come dovrebbero essere utilizzati in combinazione con i gruppi di utenti.
Ora che hai familiarità con le autorizzazioni e le risorse, andremo avanti e creeremo un nuovo gruppo di utenti per dimostrare come funziona tutto insieme. Dirigiti verso il back-end e vai a Sistema> Utenti> Gruppi utenti. Elencherà i gruppi di utenti predefiniti disponibili in OpenCart.
Clicca sul + icona per aggiungere un nuovo gruppo di utenti.
Inserisci il nome del gruppo di utenti, seleziona le risorse per ogni autorizzazione, accedi e modifica, e sei a posto. Salva il gruppo una volta che hai finito! A scopo dimostrativo, ho selezionato solo il Catalogo / categoria risorsa per il mio Gruppo personalizzato.
Ora, creiamo rapidamente un nuovo utente dal back-end e assegniamo il nostro gruppo utenti appena creato a quell'utente. Navigare verso Sistema> Utenti> Utenti e fare clic su + icona per creare un nuovo utente.
Inserisci i dettagli richiesti: l'importante da notare qui è il Gruppo di utenti, per il quale ho selezionato Gruppo personalizzato. Salva l'utente, disconnettiti e accedi con questo nuovo utente. Ora, prova ad accedere a qualsiasi sezione che non è consentita per Gruppo personalizzato gruppo di utenti. Riceverai un errore di autorizzazione negato!
In questa sezione, vedremo come è possibile verificare se un utente è autorizzato ad accedere o modificare una determinata risorsa. Vedrai il seguente snippet nella maggior parte dei file del controller nel back-end, poiché è ovvio che avremo bisogno di autenticare gli utenti prima di consentire loro di eseguire azioni privilegiate.
Vai avanti e apri il caricare / admin / regolatore / Catalogo / Product.php
file.
if (! $ this-> user-> hasPermission ('modify', 'catalog / product')) $ this-> error ['warning'] = $ this-> language-> get ('error_permission');
Ci sono più posti in cui troverai lo snippet sopra riportato. Fondamentalmente, controlla se l'utente che ha effettuato il login ha i permessi di modifica sulla risorsa "catalogo / prodotto".
Internamente, controllerà il gruppo di utenti dell'utente che ha effettuato l'accesso e, inoltre, se quel particolare gruppo ha il permesso di modifica sulla suddetta risorsa.
In questo modo, è possibile verificare se l'utente è autorizzato a eseguire azioni specifiche su determinate risorse. Lo scenario ideale sarebbe quello di impostare diversi gruppi di utenti e assegnare un diverso insieme di permessi a ciascun gruppo in base alle proprie esigenze.
Oggi abbiamo discusso di risorse e permessi in OpenCart. Abbiamo iniziato con un'introduzione di base e in seguito abbiamo visto come trarre vantaggio dai gruppi di utenti se utilizzati in modo efficace in combinazione con risorse e autorizzazioni.
Abbiamo concluso l'articolo con un frammento di codice che dimostra come verificare se un utente è autorizzato ad accedere / modificare una determinata risorsa.
Come sempre, se stai cercando altri strumenti, utility, estensioni e così via che puoi sfruttare nei tuoi progetti o per la tua istruzione, non dimenticare di vedere cosa abbiamo a disposizione sul mercato.
Questo è tutto per oggi e non dimenticare di condividere le tue recensioni e domande utilizzando il feed dei commenti qui sotto!