Berechtigungen für ein Verein

(9 Votes)

Das Berechtigungskonzept in joomla ist schon sehr vielseitig und für manche doch etwas schwer zu verstehen. Ich möchte mit dieser Anleitung versuchen es etwas anschaulicher zu machen. Dabei zeige ich hier, wie man ein Berechtigungskonzept unter Joomla für einen Verein umsetzen kann, welcher aus verschiedenen Gremien (Gruppen) besteht. Jedes Gremium hat dabei bestimmte Aufgaben im Verein und somit auch auf der Joomla Seite.

Was beim Berechtigungskonzept immer zwingend zusammengehört, das sind die Zugriffsebenen und die Benutzergruppen. Mit dem richtigen Verständins und der Kombination kommt man zum Ziel. Dabei bechreibe ich diese beiden Punkte wie folgt:

Benutzergruppe
Jeder Benutzer wird eine oder mehreren Benutzergruppen zugeordnet. Die Benutzergruppe definiert, was der Benutzer machen darf.

Zugriffsebene
Die Zugriffsebenen werden für bestimmte Funktionen in Joomla vergeben. Sie definiert praktisch was man zu sehen bekommt bzw. worauf man zugreifen darf. Daher werden den Zugriffsebenen auch Benutzergruppen zugeordnet.

  Problem:

In einem Verein gibt es verschiedene Gremien, welche unterschiedliche Funktionen besetzen. Hier am Beispiel eines Kleingartenverein gibt es zum Beispiel die folgenden Gremien:

  • Vorstand
    Der Vorstand darf (fast) alles. Neben den Administratoren, soll er sich auch im Backend einloggen dürfen.
  • Fachberater
    Die Fachberater dürfen nur Beiträge in der Kategorie Fachberatung erstellen und bearbeiten. Ein Zugriff auf das Backend soll nicht möglich sein.
  • Festausschuss
    Der Festausschuss darf nur Beiträge in der Kategorie Events und Veranstaltungen im Kalender erstellen und bearbeiten können. Ein Zugriff auf das Backend soll nicht möglich sein.
    Zusatz: Der Festausschuss darf Beiträge nur erstellen, bearbeiten und löschen. Veröffentlichen darf nur der Vorstand.
  • Vermieter
    Der Vermieter soll nur das Modul Belegungskalender des Vereinshaus pflegen dürfen. Kein Zugriff auf das Backend.
  • Mitglieder
    Die Mitglieder des Vereins können sich vorerst nicht anmelden.

Was wir zur Lösung betrachten müssen, das ist das Zusammenspiel zwischen den Berechtigungsgruppen und den Zugriffsebenen, sowie die Einstellungen in den Kategorien und im Menü.


Teil 1 - Die Benutzergruppen

  Die bestehenden Gruppen von Joomla sollten wenn möglich nicht geändert werden und am besten nur neue hinzufügen. Wenn mal etwas schief geht, dann kann man diese löschen und anhand der bestehenden neue erstellen.

Für jedes Gremium erstellen wir eine eigene Benutzergruppe. Diese benennen wir jeweils nach den Funktionen "Vorstand", "Fachberater" und "Festausschuss". Da der Vorstand sich auch im Backend anmelden soll, ist bei diesem die übergeordnete Gruppe "Manager". Die anderen sollen sich nur im Frontend anmelden dürfen, daher ist bei denen die übergeordnete Gruppe "Registered".

  • 01_benutzergruppen_2
  • 02_benutzergruppe_vorstand
  • 03_benutzergruppe_fachberater
  • 04_benutzergruppe_festausschuss

Weitere zusätzliche Informationen zu den bestehenden joomla-eigenen Gruppen und deren Bedeutungen findet Ihr hier.


Teil 2 - Die Zugriffsberechtigung

  Die bestehenden Berechtigungen von Joomla sollten wenn möglich nicht geändert werden und am besten nur neue hinzufügen. Wenn mal etwas schief geht, dann kann man diese löschen und anhand der bestehenden neue erstellen.

Die ZugriffsebeneDie Zugriffsebene benötigen wir später für das Menü. Über die Zugriffsebene wird geregelt, wer den Menüpunkt zum anlegen eines Beitrag angezeigt bekommt und wer nicht.

Daher legen wir eine Zugriffsebene "Blogbeiträge" an. Der "sprechende" Name soll uns auch gleich suggestieren, dass man hiermit Blogbeiträge erstellen darf.

Zum Anlegen der Zugriffsebene fügen wir auch unsere neuen Gruppen hinzu, sowie die Standard-Gruppen, die laut Joomla Beiträge erstellen dürfen.


Teil 3 - Die Beitragskategorien

  Die Berechtigungen in den Beitragskategorien sollten alle auf Standard bleiben und jeweils von der übergeordneten geerbt werden. Die Berechtigung "Verweigert" sollte wenn möglich immer vermieden werden, da man diese nicht wieder aufheben kann. Etwas auf "Erlaubt" zu setzen ist jedoch möglich.

 

Kategorie ÜbersichtIn unserem Beispiel erstellen wir eine Hauptkategorie "Blog" und darunter die jeweiligen Unterkategorien "Vorstand", "Fachberater" und "Events". Das hat später der Vorteil, dass man unter dem Menüpunkt "Blog" alle Unterkategorien anzeigen lassen kann.

 

 

Beitragskategorie "Vorstand"

In dieser Kategorie soll ja nur unser Vorstand Beiträge schreiben dürfen. Da wir die Benutzergruppe "Vorstand" unterhalb von "Manager" angelegt haben, darf er grundsätzlich Beiträge erstellen. Daher brauchen wir hier bei den Berechtigungen nichts ändern und belassen diese auf den Standard Einstellungen.

  • kat_blog-vorstand_fachberater
  • kat_blog-vorstand_festausschuss
  • kat_blog-vorstand_vorstand

Beitragskategorie "Fachberater"

In dieser Kategorie dürfen nur die Fachberater und der Vorstand Beiträge schreiben und bearbeiten. Da die Gruppe der Fachberater unterhalb der Gruppe "Registered" ist, dürfen sie nicht automatisch Beiträge schreiben. Daher müssen wir diese Berechtigung explizit vergeben.

Geht dazu auf den Tab "Berechtigungen" und wählt die Gruppe "Fachberater aus". Die gewünschten Einträge, was sie machen dürfen jeweils von "vererbt" auf "erlaubt" ändern. Wie Ihr seht ändert sich rechts die berechnete Einstellung und das "(vererbt)" verschwindet. Die Berechtigung bei der Gruppe Vorstand muss nicht geändert werden und bei der Gruppe "Festausschuss" muss ebenso bleiben.

Wie man sieht habe ich jeweils die Berechtigung für "Löschen" auf "vererbt" gelassen. Das heißt, dass die Mitglieder der Gruppe Beiträge erstellen, bearbeiten und freigeben dürfen. Jedoch Löschen dürfen sie diese nicht. Das darf nach diesem Berechtigungskonzept nur der Vorstand oder ein Administrator.

  • kat_blog-fachberater_fachberater
  • kat_blog-fachberater_festausschuss
  • kat_blog-fachberater_vorstand

Beitragskategorie "Events"

In dieser Kategorie soll nur der Festausschuss und der Vorstand Beiträge schreiben und bearbeiten dürfen. Es verhält sich hier genauso wie beim Fachberater. Die Berechtigung in dieser Kategorie wird nur für die Gruppe "Festausschuss" explizit auf "erlaubt" geändert.

Zusatz: Der Festausschuss darf zwar in der Kategorie "Events" Beiträge erstellen, bearbeiten und löschen. Veröffentlichen darf jedoch nur der Vorstand.

Damit der Festausschuss die Beiträge nicht veröffentlichen darf, bleibt die Berechtigung "Status bearbeiten" für diese Gruppe auf "vererbt". Somit darf der Festausschuss in dieser Kategorie Beiträge erstellen, bearbeiten - jedoch nicht veröffentlichen.

Die Berechtigung "Löschen" bleibt auf vererbt, da diese im Frontend keine Auswirkung hat. Stattdessen empfiehlt es sich eine Beitragskategorie "gelöschte Beiträge" zu erstellen, in der alle Gruppen Beiträge erstellen dürfen, jedoch nicht angezeigt wird (Zugriffsebene registered). Der Festausschuss kann den bestehenden (veröffentlichten) Beitrag dieser Gruppe zuordnen, wenn er gelöscht werden soll.

  • kat_blog-events_fachberater
  • kat_blog-events_festausschuss
  • kat_blog-events_vorstand


Teil 4 - Das Menü

Hier kommt jetzt unsere angelegte Zugriffsebene "Blogbeiträge" ins Spiel.

Menüpunkt Beitrag erstellenDamit die Mitglieder der jeweiligen Gruppen auch im Frontend ein Beitrag erstellen können, habe ich für diese einen Menüpunkt "My Profile" angelegt, welcher erst nach dem Login angezeigt wird.

Unterhalb diesem Menüpunkt fügen wir ein weiteren Menüpunkt für "Beitrag erstellen" ein.

Diesem Menüpunkt weisen wir die Zugriffsebene "Blogbeiträge" hinzu. Somit können wir sicherstellen, dass nur unsere definierten Gruppen diesen Menüpunkt zu sehen bekommen und auch nur diese einen Beitrag erstellen können.

Mehr müssen wir hier nicht machen. Als letztes kommen dann nur noch die User / Mitglieder, die wir den entsprechden Gruppen zuweisen müssen.


Teil 5 - Die Benutzer

Jetzt haben wir die Berechtigungen soweit alle gesetzt und unser Berechtigungskonzept umgesetzt.

Legt jetzt für jede Gruppe einen Testbenutzer an. Loggt Euch mit dem jeweiligen Benutzer einmal ein und versucht einen Beitrag zu erstellen. In meinen Beispiel-Bildern nehmen wir den Fachberater. Logt Euch mit diesem ein und öffnet den Menüpunkt "Neuer Blogbeitrag". Wechselt dann in den Reiter "Veröffentlichen". Ihr werdet sehen, dass hier nur die Kategorie "Fachberater" zur Auswahl steht.

Beim User der Gruppe "Festausschuss" steht nur die Kategorie "Events" zur Verfügung. Beim User der Gruppe "Vorstand" werden jedoch alle Kategorien angezeigt.

  • 00_login_fachberater
  • 01_menue_neuer_beitrag
  • 02_neuer_beitrag
  • 03_neuer_beitrag_fachberater
  • 04_neuer_beitrag_event
  • 05_neuer_beitrag_vorstand

Ein User in 2 Gruppen

Jetzt kann es doch möglich sein, dass ein User in 2 Gruppen gleichzeitig agieren soll.

Wenn er im Vorstand ist und gleichzeitig Fachberater, dann reicht ihm die Gruppe Vorstand natürlich aus. Denn als Vorstand darf er nach diesem Berechtigungskonzept alles. Daher muss er nicht zusätzlich in die Gruppe "Fachberater" mit aufgenommen werden.

Wenn er jedoch aber Fachberater ist und im Festausschuss, dann müssen ihm beide Gruppen hinzugefügt werden. Erst wenn er in beiden Gruppen ist, darf er auch für jede Gruppe den jeweiligen Beitrag erstellen.

Im nachfolgenden Beispiel legen wir den User "Planer2" an und weisem ihm die Gruppen "Fachberater" und "Festausschuss" zu. Wenn wir uns anschließend mit diesem User einloggen und ein neuen Beitrag erstellen wollen, dann werden uns die Kategorien "Fachberater" und "Events" angeboten.

  • 01_neuer_user
  • 02_neuer_user_gruppen
  • 03_neuer_user_login
  • 04_neuer_user_neuer_beitrag

Nachtrag

Ich hoffe, ich konnte Euch mit dieser Anleitung ein wenig weiterhelfen, die Berechtigungsvergabe unter Joomla besser zu verstehen.

Wichtig ist (wie am Anfang geschrieben) zu verstehen, was machen die Zugriffsberechtigungen, was machen die Gruppen und wie ist deren Zusammenspiel. Danach könnt ihr fast alles auf relativ einfacher Weise Berechtigungskonzepte umsetzen.

Nehmt für die Gruppen und Zugriffsebenen aussagekräftige Bezeichnungen, die sich wenn möglich unterscheiden sollten.
Gruppen = Wer?
Zugriffsebenen = Wofür?

Überlegt Euch eine gute Struktur und zeichnet das Berechtigungskonzept ggf. auch vorher auf einem Blatt Papier auf und versucht bei den Berechtigungen die Auswahl "verweigert" nirgendwo zu verwenden.

"IT consulting and service" and this site is not affiliated with or endorsed by The Joomla! Project™. Any products and services provided through this site are not supported or warrantied by The Joomla! Project or Open Source Matters, Inc. Use of the Joomla!® name, symbol, logo and related trademarks is permitted under a limited license granted by Open Source Matters, Inc.