Joomla! hat ein mächtiges Tool für die Benutzerverwaltung unter der Haube, das viel mehr kann als in diesem Artikel gezeigt wird. Ich möchte einen Einstieg in dieses Thema bieten.

Am Beispiel eines Sportvereins bauen wir die Berechtigungen so auf, dass die Abteilungen nur ihre eigenen Inhalte pflegen können.

Der Sportverein in unserem Beispiel deckt viele Sparten ab: Leichtathletik, Judo, Fußball, etc. Jede einzelne Abteilung soll nur die eigenen Inhalte pflegen können und nicht die Inhalte der anderen Abteilungen verändern dürfen. Zudem gibt es Systembeauftragte, die die Seite vollumfänglich pflegen dürfen. Es geht in diesem Beispiel nicht darum, dass bestimmte Inhalte auf der Seite angezeigt werden und andere verborgen bleiben. Hier beschäftigen wir uns ausschließlich damit, dass bestimmte Benutzer bestimmte Inhalte der Website pflegen dürfen. Die Ansicht kann ebenfalls über die Zugriffsebenen geregelt werden, führt hier aber zu weit.

BenutzerIn unserem Sportverein haben wir nun Herbert, der die Fußball-Inhalte pflegen soll, Ulli, die zuständig ist für die Badmintonseiten und Jens, der im Rahmen seiner Arbeit alle Inhalte ändern können soll.

Damit ich Herbert, Ulli und Jens nicht alle Inhalte gleichermaßen zur Verfügung stelle, möchte ich die Zugriffsberechtigung über Kategorien festlegen. Wenn ein Beitrag in der Kategorie Vorstand veröffentlicht wird, dann soll Jens diesen sehr wohl bearbeiten können, Herbert und Ulli aber nicht. Wird ein Beitrag in der Kategorie Fußball veröffentlicht, dann kann dieser von Herbert und Jens verwaltet werden, Ulli erhält aber keine Berechtigung. Einträge unter der Kategorie Badminton sind für Herbert nicht änderbar.

Die dafür notwendigen Kategorien legen wir aber erst später fest, da wir die Zuordnung der Benutzergruppen erst nach deren Erstellung vornehmen können.

Benutzergruppen in Joomla! anlegen

Damit das klappt, werden Benutzergruppen angelegt, die den Abteilungsnamen tragen. In diesem Fall also Fussball, Badminton, Vorstand und natürlich noch einige andere. Als übergeordnete Gruppe erhalten alle Benutzer die Benutzergruppe “Editor” und “Manager”, die im Joomla! Grundsystem bereits vorhanden sind.

 

Über die Benutzergruppe Editor erreichen wir, dass die Benutzer die Berechtigung haben Beiträge zu verändern und zu pflegen. Der Editor darf keine neuen Beiträge erstellen und Beiträge auch nicht veröffentlichen. Das wäre mit der Benutzergruppe Publisher als übergeordnete Gruppe möglich. Herbert und Ulli pflegen also nur bereits vorhandene Inhalte.

Sie dürfen sich aber auch im Backend anmelden, weil sie der Gruppe Manager zugeordnet sind.

Exkurs: Benutzergruppen und deren Berechtigungen

Damit Ihr euch die richtige Gruppe für eure Benutzer auswählen könnt, gebe ich euch einen Überblick über die von Joomla! gelieferten Benutzergruppen.

Welche in Joomla! voreingestellten Benutzergruppen dürfen also was?

  • Public: Diese Gruppe existiert, um grundsätzlich zu ermöglichen, dass Inhalt angeschaut werden kann: Ohne diese Benutzergruppe keine sichtbare Website. Jeder Nutzer ist dieser Gruppe automatisch zugeordnet, da alle Gruppen davon abgeleitet sind.
  • Gast [Guest]: Jeder Benutzer der Website wird unter dieser Gruppe verwaltet. Erst wenn er angemeldet ist, kann das System zuordnen, zu welcher Gruppe der Nutzer eigentlich gehört. Hiermit lässt sich z.B. regeln, dass in eingeloggtem Zustand der Logindialog nicht mehr angezeigt wird und Logout erscheint.
  • Registriert [Registered]: Wer als registrierter Benutzer die Seite anschaut hat eventuell weitere Inhalte zur Verfügung als der Gast. Die Beiträge können aber nur angesehen werden.
  • Autor [Author]: Ist das Template der Website dafür geeignet, kann der Autor im Frontend der Website Beiträge erstellen und bearbeiten.
  • Editor: Zu den Rechten des Autors kommt hinzu, dass der Editor auch fremde Beiträge bearbeiten darf.
  • Publisher: Der Publisher hat Editor-Rechte und darf zudem Beiträge veröffentlichen, was sowohl der Autor als auch der Editor nicht dürfen.
  • Manager: Als Manager darf der Benutzer ins Backend der Website einloggen. Ist der Nutzer gleichzeitig Editor, Autor und/oder Publisher, hat er nun die Möglichkeit die Beiträge im Backend zu bearbeiten, somit kann er auch an Beiträgen arbeiten, wenn das Frontendediting nicht vom Template unterstützt wird. Benutzerverwaltung und die Konfigurationseinstellungen, Komponenten/Module/Plugins und Veränderungen an Templates und Spracheinstellungen sind für Manager tabu.
  • Administrator: Was der Manager nicht darf, ist dem Administrator erlaubt. Er kann im Backend alle notwendigen Änderungen an Konfiguration, Template, Komponenten, etc. vornehmen. Lediglich den Status “Super User” in der Benutzerverwaltung darf er nicht setzen.
  • Super User: Dem Super User ist erlaubt auch andere Nutzer zu Super Usern zu bestimmen. Zudem darf er alle Arbeiten am System erledigen. Der Super User hat volle Rechte auf das System.

Kategorien anlegen

Die Kategorien benötigen wir nun, damit wir die Zugriffsberechtigung für die Benutzergruppen auch wirklich einsetzen können. Wird eine neue Kategorie angelegt, erhält diese standardmäßig die Berechtigung Public. Diese lassen wir auch stehen und gehen auf den Reiter Berechtigungen. Wir richten also die Kategorie Fußball ein.

Auf der linken Seite erscheinen nun alle eingerichteten Benutzergruppen und auf der rechten Seite die zu den einzelnen Benutzergruppen zugehörige Berechtigung.

Durch die vorab vorgenommenen Einstellung haben alle Abteilungen grundsätzlich Zugriff auf die Inhalte in der neuen Kategorie. Der Vorstand soll diese Inhalte bearbeiten können, kann also auch die vererbten Rechte behalten, die ihm das ermöglichen. Da die Benutzergruppe “Fußball” nun nicht mit den Inhalten der Kategorie “Badminton” arbeiten können soll, muss die Einstellung hier verändert werden:

Benutzerverwaltung

 

Wird nun ein neuer Beitrag in der Kategorie “Badminton” angelegt, kann ein Benutzer der Gruppe “Fussball” diesen nicht bearbeiten.

Als zweite Kategorie legen wir “Fussball” an und gehen wie oben vor. Für die Kategorie “Vorstand” müssen wir sowohl die Berechtigungen bei “Badminton” als auch bei “Fussball” anpassen, damit die Inhalte des Vorstands auch nur die Benutzer der Benutzergruppe Vorstand bearbeiten dürfen.

Die Beiträge sind mit den entsprechenden Kategorien zu versehen, dann klappt es einwandfrei mit den Berechtigungen.

Benutzer hinzufügen

Jetzt können wir die Nutzer Herbert, Ulli und Jens hinzufügen. Dabei müssen wir nur noch darauf achten, dass sie die richtigen Zugriffsberechtigungen erhalten. Herbert wird Mitglied der Gruppe “Fussball”, Ulli “Badminton” und Jens “Verein”.

Die Beiträge können nun von den zuständigen Benutzern bearbeitet werden, wer nicht die notwendige Berechtigung hat, sieht die Beiträge in der Übersicht, kann aber nicht selber Hand anlegen.

Zugriffsebenen in Joomla!

Die Zugriffsebene verwaltet die Sichtbarkeit von Elementen für die Benutzergruppen. Es kann geregelt werden, ob Beiträge nur für bestimmte Benutzergruppen sichtbar sind, Menüs versteckt oder angezeigt werden, etc. Die Zugriffsebene ist so mächtig, dass ohne weitere Tools alle gängigen Einstellungen vorgenommen werden können. Für das Beispiel benötigen wir diese Einstellung nicht, wir lassen die Inhalte für alle sichtbar, bearbeiten kann trotzdem nur der,, der die Berechtigung hat.

Vorstellbar ist die Regelung über die Zugriffsebene von Abonnenten-Gruppen für Bezahlinhalte, Ausblendung von bestimmten Menüs für bestimmte Benutzergruppen, Anzeige von ausgewählten Beiträgen für eine bestimmte Benutzergruppe, etc. Und nicht nur die Anzeige kann geregelt werden, auch die Konfigurationselemente der Seite können an Benutzergruppen gebunden werden und die Rechte dafür speziell freigegeben werden.

Fazit

Ein Einstieg, mehr kann dieser Artikel nicht sein. Es bleibt noch ein großes Feld, das es abzudecken gilt, wenn das Thema ACL auf den Tisch kommt. Ausblenden von Inhalten für bestimmte Berechtigung, Konfigurationseinstellungen für bestimmte Benutzer freigeben, sind nur einige Dinge, die die Joomla! Benutzerverwaltung leistet. Ein tieferer Blick auf dieses mächtige Tool lohnt sich auf jeden Fall.

Ein Vortrag von Benjamin Trenkle ist zu dem Thema auf YouTube zu finden, der führt weiter und ist etwas technischer ausgerichtet. Die Vererbung von Rechten, die ich nicht angesprochen habe, wird hier erklärt.

Zum Vortrag