Dag 9: Gebruikersbeheer en toegangsrechten

Stel je hebt een bedrijf met een paar werknemers en je wilt iedereen de mogelijkheid geven om af en toe een nieuwsbericht of blogartikel te plaatsen. Tegelijkertijd wil je niet dat werknemers andere zaken aan kunnen passen binnen de website.

Vandaag ga je leren hoe je dit soort scenario's kunt verwezenlijken door gebruik te maken van Joomla's gebruikersgroepen.

De standaard gebruikersgroepen

Elke gebruiker is gekoppeld aan een gebruikersgroep, en elke gebruikersgroep bezit bepaalde rechten en toegangsniveaus. De rechten bepalen wat iemand mag doen en de toegangsniveaus bepalen wat iemand mag zien.

De eerste gebruiker wordt tijdens de installatie van Joomla aangemaakt, dit is het gebruikersaccount waarmee jij kunt inloggen. Dit account is standaard gekoppeld aan de groep Super User.

Deze groep is uiteraard bedoeld voor de "administrators" van de website en bevat alle rechten en toegangsniveaus. Een Super User kan bijvoorbeeld nieuwe gebruikers aanmaken en die koppelen aan één of meerdere gebruikersgroepen.

dag9 1 groep

Wanneer je in het hoofdmenu naar Gebruikers > Groepen gaat, dan zie je dat Joomla standaard meerdere gebruikersgroepen beschikbaar heeft, 9 in totaal.

Van deze groepen hebben er 6 alleen toegang tot de Frontend. De gebruikers in die groepen zien altijd alleen de 'voorkant' van de website en hebben geen toegang tot de Joomla administratiepagina's.

De overige 3 groepen hebben wel toegang tot de Backend; de gebruikers die hieraan zijn gekoppeld worden doorgestuurd naar de Joomla beheerinterface wanneer zij inloggen via de "/administrator" URL.

Frontend

Public - De Public (nl: Openbaar) groep is voor bezoekers die uitgelogd zijn, zij kunnen alleen gepubliceerde content bekijken met het Public toegangsniveau.
|— Guest - Soms wil je bepaalde content alleen zichtbaar maken voor niet-ingelogde gebruikers. Denk bijvoorbeeld aan een module met informatie over de voordelen van registreren die onzichtbaar wordt op het moment dat iemand is ingelogd. Je wijst dan het Guest (nl: Gast) toegangsniveau toe aan de bewuste content. Zowel voor de Guest als Public groep geldt dat je hier nooit gebruikers aan koppelt. Indirect maak je wel gebruik van deze groepen wanneer je het toegangsniveau van content instelt op Public of Guest.
|— Registered - Registered (nl: geregistreerd) is het laagste niveau dat een geregistreerde gebruiker kan bezitten. Een geregistreerde gebruiker heeft alleen het recht om afgeschermde content te bekijken, content met het registered toegangsniveau.
|—|— Author - Dit is een subgroep van Registered. Wanneer een groep een subgroep is van een andere groep, worden de toegangsniveaus die zijn toegewezen aan de bovenliggende groep(en) automatisch overgenomen. Een Author (nl: auteur) heeft de rechten om een nieuw artikel te maken en zijn eigen artikelen te bewerken. Wat een auteur niet kan is dit artikel vervolgens publiceren.
|—|—|— Editor - Als Editor heb je dezelfde rechten als een Auteur, maar kun je tevens andermans artikelen bewerken en niet alleen je eigen.
|—|—|—|— Publisher - De Publisher (nl: Hoofdredacteur) heeft alle rechten van een Editor, maar kan daarnaast ook artikelen van zichzelf en van anderen publiceren.

Backend

|— Manager - Een Manager (nl: Beheerder) heeft in dezelfde rechten als een Publisher, maar heeft daarnaast ook toegang tot de backend. Hierdoor kan een beheerder gebruik maken van de Artikel-, Menu- en Mediabeheer. Daarnaast heeft hij of zij toegang tot sommige componenten. Dit is afhankelijk van jouw instellingen, per component kun je namelijk aangeven welke groep hier gebruik van kan maken.
|—|— Administrator - De Administrator heeft, naast alle rechten van de Beheerder, toegang tot o.a. de meeste componenten, het Modulebeheer en het Gebruikersbeheer. Een administrator kan ook gebruikers verwijderen, behalve een Super User. Net als een Beheerder heeft een Administrator o.a. geen toegang tot de Algemene instellingen en de Extensiebeheer pagina.
|— Super Users - Super Users kunnen alles. Dus ook extensies installeren of verwijderen en andere Super Users blokkeren. Ook kun je als Super User de rechten van elke gebruikersgroep aanpassen.

Rechten bekijken en aanpassen

Als je precies wilt weten welke rechten een gebruikersgroep bezit, kun je dit nagaan, en eventueel ook aanpassen, via de Algemene instellingen pagina. Je kunt hier ook een administrator toegang geven tot de extensiebeheer, om maar iets te noemen.

da9 2 algemene-rechten

Ga hiervoor in het hoofdmenu naar Systeem > Algemene instellingen en kies dan voor het tabblad Rechten. Je kunt hier per gebruikersgroep bekijken welke algemene rechten ze hebben.

Zo heeft de Manager groep het "Inloggen beheer" recht waarmee het kan inloggen binnen het beheer gedeelte. Maar deze groep heeft geen toegang tot de beheerdersinterface. De meeste menu-items in het hoofdmenu zijn daardoor afgeschermd voor gebruikers binnen deze groep. Het Systeem en Extensies menu zijn o.a. niet toegankelijk voor een manager, wel kan de Contentbeheerpagina bezocht worden.

dag9 3 installatiebeheer-recht

Voor elke component in de lijst aan de linkerzijde kun je vervolgens weer een uitzondering of toevoeging maken op deze algemene instellingen. Ga maar eens naar de instellingen voor het Installatiebeheer component. Klik daarna weer op het tabblad Rechten (elk component heeft dit tabblad).

dag9 4 installatiebeheer-recht-aanpassen

Pak de rechten voor de Administrator erbij en selecteer dan in het uitklap menu onder het kopje Selecteer nieuwe instelling telkens de optie Toegestaan.

Op het moment dat je de wijzigingen linksboven opslaat, zal elke Administrator het recht hebben om de naar de Extensiebeheer pagina te gaan en de publicatiestatus of instellingen van een extensie te wijzigen. Daarnaast mag hij/zij extensies installeren en verwijderen. 

Op dezelfde manier kun je bepaalde groepen wel of geen toegang geven tot een bepaalde component. Natuurlijk is hiervoor in de meeste gevallen wel eerst toegang nodig tot de backend. Sommige rechten zijn dus afhankelijk van andere rechten.

Ook wanneer je een categorie of artikel bewerkt of aanmaakt, kun je via het Rechten-tabblad per groep instellen welke groep dit bewuste item mag bewerken, verwijderen, etc. Je overschrijft dan de globale instellingen voor dit ene contentitem.

Werken met toegangsniveaus

Een gepubliceerd artikel hoeft niet per se voor iedereen toegankelijk te zijn. Dit kun je namelijk beheren met toegangsrechten. Zowel voor artikelen als voor een menu-item, categorie of module heb je de mogelijkheid om de toegangsniveaus te bepalen. Standaard bevat Joomla de volgende niveaus: Public, Guest, Registered en Special.

 dag9 5 toegangniveaus

Alleen wanneer de toegang ingesteld is op Public, zal een artikel voor iedereen zichtbaar zijn. Staat de toegang op Registered, dan is een artikel alleen te zien wanneer een bezoeker is ingelogd. Zoals eerder ook uitgelegd zorgt het Guest toegangsniveau ervoor dat iets alleen door niet-ingelogde bezoekers te zien is. Zet je de toegang op Special dan kan de content alleen benaderd worden door Beheerders en alle onderliggende groepen (Administratoren en Super Users).

Tot zover de theorie, laten we er nu een praktisch voorbeeld bijpakken.

Een gebruikergroep toekennen aan een nieuwe gebruiker

Terug naar het scenario in onze inleiding. We willen enkele medewerkers de mogelijkheid geven om content aan te maken.

dag9 6 nieuwe-gebruikers

Laten we om te beginnen een account aanmaken en hier een gebruikersgroep aan toekennen. Ga hiervooer naar Gebruikers > Gebruikersbeheer > Nieuwe gebruiker toevoegen.

dag9 6 nieuwe-gebruiker-groep

Verzin een naam (dit is de naam die publiekelijk zichtbaar zal zijn), een loginnaam (deze naam wordt alleen gebruikt voor het inloggen) en een wachtwoord.

Ga dan naar het tabblad Toegewezen gebruikersgroepen en selecteer hier PublisherIk kies in dit geval voor publisher want ik vertrouw erop dat de medewerkers in kwestie elkaars artikelen niet zullen verwijderen. Ook wil ik dat iedereen zonder tussenkomst van een derde een artikel kan publiceren.

dag9 7 bewerk-knop

Wanneer je vervolgens via de frontend inlogt met de zojuist ingevoerde gegevens, zul je zien dat het bewerk-icoontje voor elk artikel beschikbaar is. 

Tip: wanneer je wilt testen hoe een bepaalde gebruiker de website ziet, maar je wilt niet uitloggen als administrator, open dan een nieuw venster in incognito modus.

Artikelen aanmaken via de frontend

Een Publisher zou ook een nieuw artikel moeten kunnen aanmaken, maar dat kan momenteel niet via de frontend.

dag9 8 geen-toegang

Wanneer je als Publisher probeert in te loggen in de backend krijg je bovenstaande bericht. Dit is logisch want de Publisher groep heeft geen toegangsrecht voor de backend. Wat nu?

Je zou natuurlijk de Publisher groep wel toegang kunnen verlenen tot de backend door in de Algemene Instellingen de rechten aan te passen. Maar het kan ook anders.

dag9 9 nieuw-menu-item

Voor dit scenario is er in Joomla namelijk een menu-item type aanwezig. Ga maar eens naar Menu's > Gebruikersmenu > Nieuw menu-item toevoegen.

dag9 9 maak-artikel-menuitem

Kies dit keer bij het selecteren van het Menu-type voor Artikelen > Maak artikelAls titel vul je iets in als "Artikel toevoegen".

dag9 9 nieuw-menu-item-overzicht-toegang

Dit is gelijk een mooie kans om onze kennis over toegangsniveaus in de praktijk toe te passen. Selecteer in het uitklapmenu onder Toegang de optie Registered. Sla het menu-item vervolgens op.

Een bezoeker die niet is ingelogt ziet nu in het gebruikersmenu alleen de "inloggen" link. Op het moment dat de bezoeker inlogt zal de "Artikel toevoegen" link verschijnen.

Wil je dat de "Artikel toevoegen" link alleen zichtbaar is voor ingelogde Publishers? Maak dan een nieuw toegangsniveau aan ( Gebruikers > Toegangsniveaus > Nieuw toegangsniveau toevoegen ). Wijs dit nieuwe toegangsniveau toe aan de Publisher gebruikersgroep. Bewerk tot slot het "Artikel toevoegen" menu-item en selecteer hier het nieuw aangemaakte toegangsniveau.

Het beheren van bezoeker registraties

Een laatste onderwerp dat we deze dag aansnijden is de gebruikersregistraties. Bezoekers kunnen zich namelijk ook zelfstandig via de website registreren, indien je dit toestaat tenminste.

dag9 9 geen-account

Een bezoeker kan zich aanmelden via de link "Nog geen account?" onderaan het inlogformulier. Zowel de inlogpagina als de inlogmodule bevat deze link. 

Of deze link zichtbaar is en wat er vervolgens na het registreren van een account gebeurt, kun jij als beheerder voor een groot deel bepalen.

dag9 9 gebruikers-instellingen

Ga naar Systeem > Algemene instellingen en dan naar Gebruikersbeheer, helemaal onderaan in de lijst aan de linkerzijde.

Zoals je ziet kun je hier aardig wat zaken aanpassen, zoals registraties via de frontend helemaal uitschakelen, een captcha activeren (tegen spammers) en de minimale wachtwoordlengte aanpassen.

Op het moment dat er een registratie via de website plaatsvindt, wordt de nieuwe gebruiker standaard aan de Registered gebruikersgroep gekoppeld. In plaats daarvan zou je ook kunnen instellen dat de Publisher groep wordt toegewezen. Onze medewerkers kunnen dan zelf hun account aanmaken.

Dit brengt wel een groot risico met zich mee. Want indien je een andere groep dan Registered aan nieuwe gebruikers koppelt, kan iedere willekeurige bezoeker na het maken van een account artikelen aanmaken en verwijderen. Zorg er in dit geval dan ook voor dat bij het veld Accountactivatie voor nieuwe gebruikers is ingesteld dat gebruikers niet "zelf" een account kunnen activeren, zoals nu het geval, maar dat dit dient te gebeuren door een "admin".

Slot

Vandaag heb je geleerd hoe gebruikersgroepen en toegangsniveaus zich tot elkaar verhouden. Ook weet je nu op welke manier je aan elke gebruikersgroep rechten kan toewijzen en hoe je content afschermt van de ene groep en zichtbaar maakt voor de andere. Tot slot heb je gezien waar je gebruikerregistraties kunt beheren en wat hierin de mogelijkheden zijn.

De toegangsniveaus en gebruikersgroepen die Joomla standaard bevat, voldoen in de meeste scenario's. Niets houdt je echter tegen om nieuwe niveaus en groepen aan te maken via de gebruikersbeheer. Met de kennis die je vandaag en in de eerdere dagen hebt opgedaan moet dit zeker lukken.

Laatst gewijzigd op: