JoomGallery verwendet das Zugriffskontrollsystem (ACL) von Joomla!, um festzulegen, was Benutzer und Benutzergruppen sehen und tun dürfen. Die bekannten Joomla!-Konzepte wie Benutzergruppen, vererbte Berechtigungen, erlaubte Aktionen und verweigerte Aktionen gelten daher auch für JoomGallery.
Wer noch nicht mit den Joomla!-Berechtigungen vertraut ist, sollte mit der offiziellen Dokumentation zur Joomla!-Zugriffskontrolle beginnen. Dieser Artikel setzt voraus, dass die Joomla!-ACL sowie die damit verbundenen Berechtigungen und Zugriffsebenen bereits bekannt sind. Hier werden die zusätzlichen oder angepassten Funktionen erklärt, die JoomGallery bereitstellt.
Berechtigungen und Zugriffsebenen sind nicht dasselbe
Joomla! verwendet zwei miteinander verbundene, aber unterschiedliche Mechanismen:
- Zugriffsebenen legen fest, wer ein Element sehen kann.
- Berechtigungen legen fest, welche Aktionen ein Benutzer ausführen kann, beispielsweise ein Element erstellen, bearbeiten, löschen oder hochladen oder dessen Status ändern.
Wenn eine Galerie für einen Benutzer sichtbar ist, bedeutet das nicht automatisch, dass sie auch bearbeitet werden darf. Umgekehrt führt eine erteilte Bearbeitungsberechtigung nicht zwangsläufig dazu, dass jede Galerie im Frontend sichtbar ist.
Berechtigungshierarchie
JoomGallery wertet Berechtigungen anhand einer Hierarchie aus. Berechtigungen, die auf einer spezifischeren Ebene konfiguriert wurden, können von einer höheren Ebene geerbte Berechtigungen ergänzen oder überschreiben.
- Globale Joomla!-Berechtigungen
- JoomGallery-Komponentenberechtigungen
- JoomGallery-Kategorieberechtigungen (Hierarchie des Kategoriebaums)
- Menüeintragseinstellungen
Eine Kategorie erbt die Berechtigungen ihrer übergeordneten Kategorie. Wenn für eine Kategorie keine Berechtigung festgelegt ist, prüft JoomGallery die jeweils übergeordneten Ebenen des Kategoriebaums und schließlich die Komponentenberechtigungen sowie die globalen Joomla!-Berechtigungen.
Berechtigungsstatus
- Vererbt
- Auf der aktuellen Ebene wird keine Entscheidung getroffen. Das Ergebnis wird von einer übergeordneten Benutzergruppe oder einer höheren Ebene der Berechtigungshierarchie geerbt.
- Erlaubt
- Die ausgewählte Benutzergruppe darf die Aktion ausführen, sofern keine anwendbare Regel zu einer wirksamen Verweigerung führt.
- Verweigert
- Die ausgewählte Benutzergruppe darf die Aktion nicht ausführen. Wie bei der Joomla!-ACL hat eine wirksame Verweigerung innerhalb der ausgewerteten Regelhierarchie Vorrang vor einer allgemeinen Erlaubnis.
Wichtig: Ein Benutzer kann mehreren Benutzergruppen angehören. Daher müssen immer die Berechtigungen berücksichtigt werden, die aus allen Benutzergruppen geerbt werden, denen der Benutzer angehört.
Bildberechtigungen werden über Kategorien gesteuert
JoomGallery speichert nicht für jedes Bild eigene ACL-Einstellungen. Die Berechtigungen eines Bildes werden über die Kategorie bestimmt, in der sich das Bild befindet.
So werden die Berechtigungen für eine Gruppe von Bildern geändert:
- Die entsprechende JoomGallery-Kategorie öffnen.
- Den Tab Berechtigungen öffnen.
- Die gewünschte Benutzergruppe auswählen.
- Die Bildberechtigungen für diese Kategorie konfigurieren.
- Die Kategorie speichern.
Die konfigurierten Bildberechtigungen gelten für die Bilder in dieser Kategorie und können über die Kategoriehierarchie vererbt werden. Berechtigungseinstellungen für einzelne Bilder sind nicht verfügbar.
Wird ein Bild in eine andere Kategorie verschoben, können sich seine effektiven Berechtigungen ändern, da anschließend die Berechtigungshierarchie der neuen Kategorie verwendet wird.
Allgemeine Berechtigungen
JoomGallery unterstützt die Standard-Berechtigungskonzepte von Joomla!, darunter die folgenden häufig verwendeten Aktionen:
| Berechtigung | Berechtigungsregel | Zweck |
|---|---|---|
| ACL & Optionen konfigurieren | core.admin | Erlaubt das Konfigurieren der JoomGallery-Optionen und -Berechtigungen. |
| Zugriff auf Administrationsoberfläche | core.manage | Erlaubt den Zugriff auf JoomGallery im Joomla!-Administrationsbereich. |
| Erstellen | core.create | Erlaubt das Erstellen unterstützter JoomGallery-Elemente. |
| Hochladen | joom.upload | Erlaubt das Hochladen von Bildern in freigegebene Kategorien. |
| Bearbeiten | core.edit | Erlaubt das Bearbeiten vorhandener Elemente unabhängig vom Eigentümer. |
| Status bearbeiten | core.edit.state | Erlaubt Statusänderungen wie Veröffentlichen, Verstecken, Freigeben oder Zurückweisen. |
| Löschen | core.delete | Erlaubt das Löschen von Elementen unabhängig vom Eigentümer. |
| Verbinden | joom.connect | Erlaubt das Verbinden unterstützter Elemente mit Sammlungen oder anderen JoomGallery-Strukturen. |
Berechtigungen für eigene Elemente
JoomGallery erweitert die Joomla!-ACL um zusätzliche Berechtigungen für eigene Elemente (own) und Aktionen in eigenen Elementen (in-own). Damit können Benutzern zusätzliche Rechte für Inhalte eingeräumt werden, deren Eigentümer sie sind, ohne dieselben Rechte für alle JoomGallery-Inhalte zu vergeben.
Berechtigungen für eigene Elemente
Eine Own-Berechtigung gilt, wenn der aktuelle Benutzer Eigentümer des Elements ist, auf das zugegriffen wird.
Beispiele:
- Eigene bearbeiten — ein eigenes Element bearbeiten.
- Eigene löschen — ein eigenes Element löschen.
Beispielsweise kann für eine Benutzergruppe Bearbeiten auf „Verweigert“ oder „Vererbt“ gesetzt sein, während Eigene bearbeiten auf „Erlaubt“ gesetzt ist. Mitglieder dieser Gruppe können dann ihre eigenen entsprechenden Elemente bearbeiten, ohne Elemente anderer Benutzer bearbeiten zu können.
Berechtigungen für Aktionen in eigenen Elementen
Eine In-own-Berechtigung gilt für Aktionen, die innerhalb eines Elements ausgeführt werden, dessen Eigentümer der aktuelle Benutzer ist. Das ist besonders bei Kategorien nützlich.
Beispiele:
- In eigenen erstellen — eine Unterkategorie oder ein unterstütztes Element innerhalb einer eigenen Kategorie erstellen.
- In eigene hochladen — Bilder in eine eigene Kategorie hochladen.
- In eigenen verbinden — unterstützte Elemente innerhalb einer eigenen Sammlung verbinden.
Dadurch können Inhalte innerhalb einer eigenen Kategorie oder Sammlung verwaltet werden, ohne die entsprechende Berechtigung für alle JoomGallery-Kategorien oder -Sammlungen zu erhalten.
Berechtigungen für eigene Elemente haben Vorrang
Wenn eine Eigentümerregel anwendbar ist, hat deren explizites Ergebnis Vorrang vor der entsprechenden allgemeinen Berechtigung.
| Allgemeine Berechtigung | Anwendbare Berechtigung für eigene Elemente | Effektives Ergebnis für den Eigentümer |
|---|---|---|
| Verweigert oder nicht erlaubt | Erlaubt | Erlaubt |
| Erlaubt | Verweigert | Verweigert |
| Erlaubt | Vererbt | Über die allgemeine Berechtigung erlaubt |
| Verweigert oder nicht erlaubt | Vererbt | Nicht erlaubt |
Für Benutzer, die nicht Eigentümer des betroffenen Elements oder des übergeordneten Elements sind, gilt die entsprechende Own- bzw. In-own-Berechtigung nicht. Der Zugriff wird in diesem Fall durch die allgemeine Berechtigung bestimmt.
Bearbeiten im Frontend
In den Benutzeransichten des JoomGallery-Frontends werden normalerweise nur Elemente angezeigt, deren Eigentümer der angemeldete Benutzer ist. Dabei handelt es sich um einen Anzeigefilter, der nicht mit einer ACL-Einschränkung verwechselt werden darf.
Mit der allgemeinen Berechtigung Bearbeiten können auch Bilder, Kategorien oder Sammlungen anderer Benutzer über das Frontend bearbeitet werden, selbst wenn diese Elemente in einer nach Eigentümer gefilterten Liste nicht angezeigt werden. Dieses Verhalten ist beabsichtigt: Die allgemeine Berechtigung „Bearbeiten“ erlaubt das Bearbeiten unabhängig vom Eigentümer.
Die allgemeine Berechtigung Bearbeiten sollte nur Gruppen erteilt werden, die Elemente anderer Benutzer ändern dürfen. Soll eine Gruppe auf eigene Inhalte beschränkt werden, sollte stattdessen die entsprechende Berechtigung Eigene bearbeiten vergeben werden.
Eigentümer ändern
Der Eigentümer wird im Feld Eigentümer oder Erstellt von gespeichert.
Der Eigentümer eines vorhandenen Bildes, einer Kategorie oder einer Sammlung kann von folgenden Benutzern geändert werden:
- Vom aktuellen Eigentümer des Elements.
-
Von einem Benutzer mit der JoomGallery-Berechtigung
Zugriff auf Administrationsoberfläche
(
core.manage). -
Von einem Benutzer mit der JoomGallery-Berechtigung
ACL & Optionen konfigurieren
(
core.admin). - Von einem Joomla!-Super Benutzer.
Der Eigentümer eines Bildes, einer Kategorie oder einer Sammlung kann das Element an einen anderen Benutzer übertragen. Nach der Übertragung können dem bisherigen Eigentümer Berechtigungen verloren gehen, die ausschließlich über eine Berechtigung für eigene Elemente erteilt wurden.
Bei anderen JoomGallery-Elementtypen sind zum Ändern des Eigentümers
core.manage, core.admin oder
Super-Benutzerrechte erforderlich.
Mit der allgemeinen Berechtigung Bearbeiten kann ein Element eines anderen Benutzers geändert werden. Diese Berechtigung allein erlaubt jedoch nicht, den Eigentümer des Elements zu ändern.
Berechnete Berechtigungsergebnisse verstehen
In den Joomla!-Berechtigungsformularen wird für die ausgewählte Benutzergruppe ein berechnetes Ergebnis angezeigt. Bei normalen Berechtigungen ist dieses Ergebnis hilfreich, bei den JoomGallery- Berechtigungen für eigene Elemente und für Aktionen in eigenen Elementen kann es jedoch irreführend sein.
Das Berechtigungsformular weiß nicht, welcher konkrete Benutzer und welches konkrete Element später geprüft werden. Daher kann nicht immer festgestellt werden, ob dieser Benutzer Eigentümer des Elements oder der übergeordneten Kategorie bzw. Sammlung ist.
Bekannte Einschränkung der Anzeige: Das im Tab „Berechtigungen“ angezeigte berechnete Ergebnis kann bei Own- und In-own-Berechtigungen falsch oder unvollständig sein. Der Eigentümer wird erst ausgewertet, wenn die Aktion ausgeführt wird, nicht bei der Anzeige des Berechtigungsformulars.
Bei der Fehlersuche für eine Berechtigung für eigene Elemente sollte mit Folgendem getestet werden:
- Einem echten Benutzer, der der betroffenen Benutzergruppe angehört.
- Einem Element, dessen Eigentümer dieser Benutzer ist.
- Einem vergleichbaren Element, dessen Eigentümer ein anderer Benutzer ist.
- Genau der Frontend- oder Administrator-Aktion, die geprüft werden soll.
Konfigurationsbeispiele
Benutzern erlauben, nur eigene Bilder zu bearbeiten
- Der Benutzergruppe nicht die allgemeine Berechtigung Bearbeiten erteilen.
- Eigene bearbeiten für Bilder erlauben.
- Sicherstellen, dass die betreffenden Benutzer als Eigentümer der jeweiligen Bilder eingetragen sind.
Kategorieeigentümern das Hochladen von Bildern erlauben
- Keine uneingeschränkte Berechtigung Hochladen erteilen, wenn sie nicht benötigt wird.
- Der Benutzergruppe In eigene hochladen erlauben.
- Jede verwaltete Kategorie dem entsprechenden Eigentümer zuweisen.
Bearbeitern erlauben, alle Galerieinhalte zu ändern
- Der Benutzergruppe die allgemeine Berechtigung Bearbeiten erteilen.
- Status bearbeiten separat erlauben, wenn Elemente zusätzlich veröffentlicht, versteckt, freigegeben oder zurückgewiesen werden dürfen.
- Löschen separat erlauben, wenn Elemente gelöscht werden dürfen.
Die Berechtigung Bearbeiten schließt Status bearbeiten und Löschen nicht automatisch ein.
Empfohlene Vorgehensweisen bei der Administration
- Allgemeine Berechtigungen nur vergeben, wenn Zugriff auf alle entsprechenden Elemente benötigt wird.
- Für von Benutzern verwaltete Galerien vorzugsweise Berechtigungen für eigene Elemente und Aktionen in eigenen Elementen verwenden.
- Berechtigungen möglichst in übergeordneten Kategorien konfigurieren, um die Vererbung zu vereinfachen.
- Explizite Einstellungen auf „Verweigert“ mit Bedacht verwenden, da sie sich auf geerbte Berechtigungen auswirken können.
- Berechtigungsänderungen mit einem Konto testen, das kein Super Benutzer ist.
- Sowohl eigene als auch fremde Elemente testen.
- Status bearbeiten, Löschen, Hochladen und Bearbeiten jeweils separat prüfen.
- Dokumentieren, welche Gruppen den Eigentümer von Galerieinhalten ändern dürfen.
Zusammenfassung
- Die JoomGallery-ACL basiert auf dem ACL-System von Joomla!.
- Bildberechtigungen werden über die Kategorie des Bildes vererbt.
- Berechtigungen folgen der Hierarchie aus globaler Ebene, Komponente, Kategorie und Menü.
- Own-Berechtigungen gelten für Elemente, deren Eigentümer der aktuelle Benutzer ist.
- In-own-Berechtigungen gelten für Aktionen innerhalb eigener Kategorien oder Sammlungen.
- Anwendbare Own-Berechtigungen haben Vorrang vor allgemeinen Berechtigungen.
- Die allgemeine Berechtigung Bearbeiten erlaubt das Bearbeiten entsprechender Elemente anderer Benutzer.
- Nach Eigentümer gefilterte Listen im Frontend ersetzen keine ACL-Prüfungen.
- Eigentümer können ihre Bilder, Kategorien und Sammlungen an andere Benutzer übertragen.
- Berechnete Berechtigungsergebnisse bilden eigentümerabhängige Berechtigungen möglicherweise nicht korrekt ab.