Joomla! kommt ab Version 1.6 mit einer neuen Berechtigungssstruktur daher. Die Struktur wird in Benutzer, Gruppen, Access Level und Core Permissions unterteilt (Access Level und Core Permissions möchte ich hier nicht übersetzen, da warte ich mal, wie sich das "eindeutscht").

Joomla! 1.6 - Berechtigungen

Ein Beispiel soll in die neuen Möglichkeiten einführen. Ihr benötigt ab hier ca. 20 Minuten für den kleinen Workshop. Stellt euch ein Fotostudio vor, das seinen Kunden die Ergebnisse der Shootings über die Anmeldung am Frontend der Seite zugänglich machen will. Gehen wir von drei Kunden aus: Gabi Meier, Karl Muster und Willi Schulze.

Folgende Schritte sind notwendig:

  • Gruppen erstellen
  • Benutzer erstellen und den Gruppen zuweisen
  • Access Level erstellen und den Gruppen zuweisen
  • Inhalte erstellen und den "Access Leveln" zuweissen
  • Ggf. "Core Permissions" zuweisen

Los geht's.

Gruppen erstellen

Erstellen wir erst einmal die Gruppen. Wechselt hierzu über "Users" auf die "Groups" und klickt auf "New"

Joomla! 1.6 - Gruppe erstellen

Eine neue Gruppe erbt grundsätzlich die Rechte einer übergeordnen Gruppe, vom sogn. Group Parent. Gebt als neuen Gruppennamen "Kunden" ein und stellt den "Group Parent" auf die Gruppe "Public". Damit werden alle Benutzer der Gruppe "Kunden" die Berechtigungen "Public" haben. Public bedeutet zunächst, keinerlei Rechte. Die sehen "nur" die Inhalte, die für alle Sichtbar sind.

Erstellt anschließend drei Gruppen "Meier_Gabi", "Muster_Karl" und "Schulze_Willi". Als "Group Parent" stellt Ihr die Gruppe "Kunden" ein.

Anmerkung: Gerade beim anlegen vieler Objekte, macht sich die Schaltfläche "Save & New" bemerkbar.

Joomla! 1.6 - Gruppen für die Berechtigungen erstelen

Das Ergebnis sollte wie oben abgebildet aussehen.

Benutzer erstellen

Nun erstellt Ihr die neuen Benutzer. Wechselt über das Menü "User" auf den "User Manager" und klickt auf "New".

Joomla! 1.6 - Berechtigungen - Neuer Benutzer

Die mit einem Sternchen gekennzeichneten Felder sind auszufüllen. Wichtig ist für uns aber gerade der Bereich "Assigned Action Permission Groups". Jeder Benutzer gehört immer zur Gruppe "Public". Klar, sind die Berechtigungen, die ein "nicht angemeldeter" Benutzer hat. Weniger kann man einfach nicht haben.

Die Gabi Meier aktiviere ich noch für die Gruppe "Meier_Gabi". Die Gruppe "Kunden" wird damit automatisch mit aktiviert, da die Gruppe "Meier_Gabi" ja die Gruppe "Kunden" als "Group Parent" eingestellt hatte. Damit darf Gabi dann alles, was die "Kunden" dürfen und natürlich, dass was an "Access" später für Ihre Gruppe "Meier_Gabi" eingestellt wird.

Eure Entscheidung zur Gruppe "Registered" bleibt noch offen. Der Gruppe Registered könnte man den Kunden ebenfalls zuordnen. Schließlich bedeutet dies, dass die Jungs und Mädels dann Links einreichen dürfen usw. Doch weiter möchte ich hier nicht drauf eingehen, ich komme am Ende des Beitrag nochmal auf diesen Punkt zurück. Bei der Gabi lass ich das mal so eingestellt. Bei Karl und Willi werde ich "Registered" nicht setzen.

Erstellt dann noch die Benutzer für den Karl Muster und den Willi Schulze. Das Ergebnis sollte dann wie folgt aussehen:

Joomla! 1.6 - Berechtigungen - User Manager

Erstellen der Access Levels

Jetzt werden noch die sogn. "Access Level" benötigt, die die Verbindung zwischen den Gruppen und den Inhaltselementen (Menüs, Beiträge, Kategorien, usw) bilden.

Wechselt hierzu über das Menü User zu den Access Levels. Derzeit gibt es "Public", "Registered", "Special" und "Customer Access Level" (wenn ihr die Beispieldaten installiert habt).

Joomla! 1.6 - Berechtigungen - Übersicht der vorhandenen Access Level

Klickt auf die Schaltfläche "New".

Joomla! 1.6 - Berechtigungen - Anlegen neuer Access Level

Ein Access Level besthet aus seinem "Level Title" und der Zuordnung zu einer oder mehrerer Gruppen. Erstellt für das Beispiel zunächst ein Access Level mit dem Namen "al_kunden".

Anmerkdung: Die Benennung mach ich nur so "eigenartig", damit ich später den Access Level "Kunden" von der Gruppe "Kunden" klar unterscheiden kann. Es soll einfach in den folgenden Schritten klar werden, dass Ihr Menüs und Beiträgen nicht den Gruppen sondern den Access Leveln zuweist.

Erstellt dann ein Access Level für die Gabi Müller nach dem folgenden Muster:

Joomla! 1.6 - Berechtigungen - Erstellen neuer Access Level

Weiterhin ein Access Level für den Karl Muster und eines für den Willi Schulze. Wenn Ihr fertig seid, sollte das Ergebnis wir folgt aussehen:

Joomla! 1.6 - Berechtigungen - Erstellen neuer Access Level

Damit sind die Vorbereitungen durch.

Erstellen von Beiträgen und Menüs für die Kunden

Der letzte Schritt beschäftigt sich mit den eigentlichen Inhalten, die die angemeldeten Kunde zu sehen bekommen. Ich entscheide mich dafür für jeden Kunden eine eigene Kategorie anzulegen. Damit habe ich es später leichter weitere Inhalte einzupflegen.

Anlegen neuer Kategorien

Wechselt also über das Menü "Content" auf den "Category Manager".

Joomla! 1.6 - Kategorie Manager

Nach der Installtion der Beispieldaten gibt es schon einen Haufen Kategorien. Beachtet bitte, dass die letzte Kategorie, die Kategorie "Uncategorised" ist.

Das Konzept hat sich hier auch ein wenig geändert (siehe Kategorien beliebig tief schachteln). Aber wir wollen hier gleich loslegen und neue Kategorien erstellen. Daher klickt auf "New".

Joomla! 1.6 - Neue Kategorie erstellen

Gebt der Kagegorie den Namen "Kunden" und weist unter Access den Access Level "al_kunden" zu. Damit haben auf Inhalte der Kategorie Kunden, später nur noch Gruppen zugriff, die über den Access Level definiert wurden. Speichert die Kategorie über "Save & New" und legt einie weitere Kategorie mit dem Namen "Kundenbereich - Frau Gabi Meier" an.

Joomla! 1.6 - Neue Kategorie anlegen

Achtet darauf, dass der Access Level "al_meier_gabi" gewählt wird. Weiterhin soll die Kategorie eine Unterkategorie der Kategorie "Kunden" sein. Dies stellt Ihr in der Zeile "Parent" ein. Legt dann weitere Kategorien nach dem selben Schema für den Karl Muster und den Willi Schulze an.

Joomla! 1.6 - Neue Kategorie anlegen

Das Ergebnis müsste dann wie oben abgebildet aussehen.

Anlegen neuer Menüpunkte

Um den Zugang zu den Inhalter für die Kunden zu ermöglichen, lege ich für jeden Kunden einen eigenen Menüpunkt an. Hierzu wechselt Ihr über "Menus" zum "Main Menue".

Joomla! 1.6 - Neue Menüs anlegen

Klickt auf die Schaltfläche "New".

Joomla! 1.6 - Neue Menüs anlegen

Ihr habt als erstes den "Menu Item Type" zu wählen. Klickt dafür auf die Schaltfläche "Select".

Joomla! 1.6 - Neue Menüs anlegen

Die Auswahl ist optisch um einiges anders, als noch in 1.5, aber man gewöhnt sich sehr schnell an die kompakte Darstellung. Wählt aus dem Bereich "Article" den Punkt "Category Blog" (ein Klick darauf genügt).

Joomla! 1.6 - Neue Menüs anlegen

Gebt als "Menu Titel" den Namen der ersten Kundin ein (hier Gabi Meier). Wählt als Access Level "al_meier_gabi" und als Kategorie, deren Artikel beim Klick auf den Menüpunkt anzuzeigen ist, die Kategorie "Kundenbereich - Frau Gabi Meier". Das genügt schon. Klickt auf "Save & New" und erstellt für die Kunden Karl Muster und Willi Schulze ebenfall so einen Menüpunkt.

Das Ergebnis sollte wie folgt ausshen.

Joomla! 1.6 - Neue Menüs anlegen

Letztlich erstelle ich noch einen Menüpunkt "Kundenbereich", den alle Kunden (Gabi, Karl und Willi) sehen sollen.

Joomla! 1.6 - Neuen Menüpunkt erstellen

Beim Klick auf den Menüpunkt "Kundenbereich" werden dann alle Beiträge aus der Kategorie "Kunden" angezeigt. Als Access Level lege ich natürlich "al_kunden" fest. Speichert die Einstellungen über "Save & Close".

Wer will kann nun die Reihenfolge der Menüpunkt bearbeiten. Die neuen Menüpunkte sind hier ganz unten angelegt worden.

Joomla! 1.6 - Reihenfolge der Menüpunkte ändern

Klickt auf die grünen Pfeile, links neben der Ordnungsnummer, um einen Menüpunkt nach oben bzw. nach unten zu verschieben. Ich selbst setze den Menüpunkt "Kundenbereich" unter den Menpunkt "Home" und die Menüpunkte der Kunden unter den "Kundenbereich".

Joomla! 1.6 - Reihenfolge der Menüpunkte anpassen

Damti sind die Menüpunkte erst einmal fertig bearbeitet.

Beiträge erstellen

Um später auch was sehen zu können erstelle ich nun vier Beiträge. Ich fange mit einem Beitrag für den "Kundenbereich" an. Wechselt hierzu über das Menü "Content" zum "Article Manager".

Joomla! 1.6 - Der Artikel Manager

Klickt auf "New" um einen neuen Beitrag zu erstellen.

Joomla! 1.6 - Neuen Beitrag erstellen

Gebt einen Titel ein und wählt als Kategorie "Kunden". Den Access Level setzt ihr auf "al_kunden". Dann könnt Ihr euren Text im Bereich "Article Text" schreiben. Ich habe hier einfach den Beispieltest Lorem Ipsum eingefügt.

Klickt auf "Save & New" um einen weiteren Beitrag für die Kundin Gabi Meier anzulegen.

Joomla! 1.6 - Neue Beiträge erstellen

Erstellt nach dem selben Muster Beiträge für den Karl Muster und den Willi Schulze. Das war's. Nun können wir mal nachsehen, wie sich das Ganze im Frontend auswirkt.

Das Ergebnis im Frontend

Öffnet nun die Seite, ohne euch anzumelden. Damit seht ihr die Inhalte, wie sie jeder Benutzer, der eure Seite aufruft angezeigt bekommt (entspricht der Bereichtigungsstufe "Public").

Joomla! 1.6 - Anmeldung am Frontend der Seite

Derzeit ist keiner der neuen Menüpunkte zu sehen. Meldet euch nun z. B. als "Gabi Meier" an (Eingabe im gelb markierte Login Formular). Meine Kunden hatte den Benutzer "gabi" und das Kennwort "gabi" (zum Thema gute und sichere Kennwörter - zu denen das hier nicht zählt - schlagt einfach bei "Wikipedia" nach). Je nachdem, wie Ihr eure Benutzer eingerichtet habt, müsst ihr nun eure Daten verwenden. Ich melde mich nun an und schau mir die Seite an.

Joomla! 1.6 - Benutzer ist angemeldet

Zunächst fällt gleich das "User Menu" auf. Das soll hier allerdings nicht Thema sein. Beachtet die Menüpuntek "Kundenbereich" und "Gabi Meier". Frau Meier bekommt nun Zugriff auf alle Beiträge im Kundenbereich und Ihre Beiträge. Ein Klick auf Kundenbereich, ...

Blick in den Kundenbereich

... zeigt die Beiträge aus der Kategorie "Kunden" (derzeit haben wir nur einen angelegt). Hier könnt Ihr dann alle Beiträge sammeln, die alle euren Kunden erreichen sollen. Ein Klick auf "Gabi Meier", ...

Blick in den Bereich von Frau Meier

zeigt alle Beiträge aus der Kategorie "Kundenbereich - Frau Gabi Meier" (derzeit habe ich hier auch nur einen Beitrag drin). Damit ist dieser Workshop auch schon am Ende.

Auffällig ist, dass sich der Kunde derzeit gar nicht mehr abmelden kann. Die Schaltfläche oder ein Menüpunkt "Logout" bzw. Abmelden fehlt hier. Erst wenn Ihr wieder zurück auf "Home" ghet, findet ihr eine Schaltfläche "Logout". Das liegt daran, dass das Modul "Login Form" nur im Menüpunkt "Home" sichtbar ist (schaut euch ggf. im Backend im Bereich Extrensions > Modul Manager das Modul "Login Form an". Dort ist im Bereich "Menu Assignment" nur Home im Main Menu aktiviert. Ggf. könnte das Modul in allen Menüpunkten einblenden, um den Komfort für den Benutzer etwas zu erhöhen).

Meldet euch ab und versucht euch nun als Karl Muster (bei mir dem dem Benutzernamen "karl" und dem Kennwort "karl" anzumelden).

Joomla 1.6 - You cannot access the private section of this site

Das Anmelden führt - bei mir - allerdings zur Meldung "You cannot access the private section of this site". Hmm. Was soll das denn? Denkt kurz zurück an das anlegen der Benutzer. Gabi haben wir der Gruppe "Registered" zugewiesen, aber Karl und Willi sollten der Gruppe nicht angehören:

Joomla! 1.6 - Assigned Action Permission Groups - Registered

Der Gruppe "Registered" ist das Anmelden am Frontend (Site Login) gestattet. Der gerade frisch erstellen Gruppe "Kunden und deren Untergruppen" ist dies noch nicht zugewiesen. Da kommen wir nun in den letzten Bereich der neuen Berechtigungsstruktur, die "Core Permissons". Wechselt über Site auf die Global Configuration. Die Register "Site", "System" und "Server" sollten euch ggf. aus Joomla! 1.5 noch bekannt vorkommen. Neu ist hier der Bereich "Permissions".

Joomla! 1.6 - Permisson Settings

Links findet Ihr die Übersicht der Gruppen, rechts die zugeordneten Berechtigungen. Klick ich auf die Kunden ist noch nichts eingestellt (Inherited ... also vererbte Berechtigungen). Da die Gruppe Kunden direkt von "Public" abstammt, ist die Berechtigung "Site Login" nicht aktiviert. Wählt in der Spalte "Select New Settings" den Eintrag "Allowed" aus und speichert die Einstellung. Schaut euch hier doch gleich mal die Berechtigungen von "Registred" an. Ihr seht, dass der Gruppe Registred "Site Login" bereits "erlaubt" wurde. Damit ist klar, warum Gabi sich anmelden konnte und Karl nicht. Meldet euch nun mit Karls Benutzerdaten am Frontend an.

Joomla! 1.6 - Logged in

Siehe da, Karl ist angemeldet. Der Kundenbereich und auch sein Menüpunkt "Karl Muster" sind da und können auch besucht werden. Was hier - gegenüber Gabis Login - "fehlt", ist das Modul "User Menu". Das User Menu ist über die Berechtigunugen für die Benutzer aktiviert, die der Gruppe "Registered" zugewiesen. Doch ist das "User Menu" wirklich nötig. Ihr habt es in der Hand.

Es sei erwähnt, dass dieser Beitrag nur kurz in das Thema Berechtigungen einführt. Euch wird bestimmt schon aufgefallen sein, dass fast überall ein Register "Permissions" existiert, über die selbst im Backend gesteuert werden kann, wer was darf. Da steckt noch eine Menge drin, was hier nicht mal erwähnt wurde.

Ein prima Tutorial "Joomla 2.5 + 1.7 ACL: Das neue Berechtigungssystem" ist auf den Seiten von Angelika Reisiger (und Team) zu finden. Wer dann immer noch nicht genug hat, schlägt einmal bei seiner Suchmaschine "Joomla Berechtigungen" oder "joomla access control lists" nach. Da findet Ihr sicherlich weitere Informatione zum Thema. Ausgewählte Verweise findet Ihr auch unter "Joomla! 1.6 - Was ist neu?" auf diese Seite.

ENDE