Anzeige
Anzeige
Software & Entwicklung
Artikel merken

Benutzerrechte und Rechte im Seitenbaum: Rechtevergabe im TYPO3-Backend

Richtig angenehm wird die Arbeit mit einer TYPO3-Website erst, wenn anstehende Aufgaben auf mehrere Mitarbeiter verteilt werden können. Diese sollen sich mit entsprechenden Rechten ins Backend einloggen können. Damit in Folge kein Chaos ausbricht, wird der Administrator diese Nutzer vorsichtshalber nur mit eingeschränkten Rechten versehen. In diesem Artikel wird ein einfacher Grundansatz für mittelgroße Websites vorgestellt.

8 Min. Lesezeit
Anzeige
Anzeige

Bei einer neu erstellten TYPO3-Website ist zunächst nur ein einziger Nutzer vorhanden, der Administrator. Dieser hat im Vorfeld die Seitenstruktur erstellt und erste Inhalte eingepflegt. Weitere Backend-Benutzer, an die Aufgaben delegiert werden können, müssen erst angelegt werden. Statt hierfür neue Einzelnutzer zu erzeugen, ist es sinnvoller, Benutzergruppen zu definieren, da dies die anschließende Rechtevergabe übersichtlicher macht.

Abbildung 1: Datensätze für Backend-Benutzergruppen (links) und Verzeichnisfreigaben (rechts) erzeugen. 

Abbildung 1: Datensätze für Backend-Benutzergruppen (links) und Verzeichnisfreigaben (rechts) erzeugen.

 

Anzeige
Anzeige

Nutzer und Benutzergruppen sind datentechnisch der Wurzel der Website zugeordnet. Man erzeugt sie daher ausgehend von der Weltkugel (Kontextmenü->Neu; Abb. 1). Wir gehen in diesem Tutorial davon aus, dass drei Gruppen benötigt werden: Chefredakteure, Redakteure und Newsredakteure. Chefredakteure erhalten Zugriff auf die gesamte Website und sind mit umfassenden Rechten ausgestattet, die beiden anderen Gruppen sollen jeweils nur einen Teil der Site bearbeiten können(Abb. 2). Legen Sie zunächst die Gruppen an und erzeugen Sie im Fileadmin die drei Ordner „chefs“, „news“ und „redakteure“, die als Datenablage dienen.

Abbildung 2: Geplante Erlaubnisbereiche der Gruppen im Seitenbaum und Fileadmin. 

Abbildung 2: Geplante Erlaubnisbereiche der Gruppen im Seitenbaum und Fileadmin.

 

Damit die eben erstellten Ordner den Gruppen zugewiesen werden können, werden sie im Rahmen so genannter „Verzeichnisfreigaben“ eingebunden (Erzeugung über Weltkugel; Abb. 1 rechts). Erstellen Sie eine Verzeichnisfreigabe für jeden Ordner, indem Sie den Ordnernamen im Feld „Pfad“ angeben. Bestimmen Sie die Pfadbasis als „relativ zum Fileadmin“ (Abb. 3). Achten Sie auf die Korrektheit des Pfads! Es wird nicht geprüft, ob ein Ordner existiert. Als Bezeichnung der Freigabe verwenden Sie den Gruppennamen.

Anzeige
Anzeige
Abbildung 3: Verzeichnisfreigabe für den Ordner „redakteure“ im Fileadmin. 

Abbildung 3: Verzeichnisfreigabe für den Ordner „redakteure“ im Fileadmin.

 

Nun sollen die Rechte der Gruppen festgelegt werden. Wechseln Sie nach „Web->Liste“ und klicken Sie auf das Icon einer Gruppe, um sie zu bearbeiten (wir beginnen mit den Redakteuren). Die Eingabemaske ist in mehrere Bereiche („Reiter“) unterteilt, von denen für uns derzeit nur „Zugriffsrechte“ und „Freigaben und Arbeitsumgebungen“ von Interesse sind.

Anzeige
Anzeige

Zugriffsrechte

Die Zugriffsrechte betreffen die Konfiguration der Backendoberfläche und die einsetzbaren Module. Wählen Sie, um Einstellungen vorzunehmen, die Option „Zugriffslisten miteinschließen“. Die ersten fünf Listenfelder sind „Positivlisten“, das heißt die hier gewählten Funktionen stehen der Gruppe anschließend zur Verfügung. In „Module“ bestimmen Sie die Zusammensetzung der Hauptmenüleiste (Beachten Sie, dass Sie stets das Hauptmodul einschließen müssen, wenn Sie ein Untermodul freigeben möchten.).

Die beiden Felder „Tabellen (anzeigen)“ und „Tabellen (ändern)“ geben lesenden oder schreibenden Zugriff auf die jeweiligen Datenbanktabellen. „Seitentypen“ erlaubt das Erstellen der gewählten Seitentypen und „Erlaubte Ausschlussfelder“ bestimmt die Zusammensetzung der Eingabemasken (abgesehen von stets vorhandenen Pflichtfeldern).

Anzeige
Anzeige

Geben Sie den Redakteuren die Module „Web“, „Web->Seite“, „Web->Liste“, „Web->Funktionen“ sowie „Datei“ und „Datei->Dateiliste“. Erlauben Sie schreibenden Zugriff auf die Tabellen „Seite“ und „Seiteninhalt“ und gestatten Sie die Seitentypen „Standard“, „Verweis“ und „Link zu externer URL“. Geben Sie bei den erlaubten Ausschlussfeldern der Einfachheit halber alle Felder mit dem Präfix „Seite:“ und „Seiteninhalt:“ frei.

Abbildung 4: Zugriffsrechte für Redakteure („Backendrechte“). 

Abbildung 4: Zugriffsrechte für Redakteure („Backendrechte“).

 

Eine „Negativliste“ stellt der Block „Feldwerte explizit erlauben/verbieten“ dar (Abb. 5), in dem Sie der Gruppe Erlaubnisse zum Anlegen von Inhaltstypen explizit entziehen können. Redakteure sollen die Inhalte „Formular“, „Suchen“, „Anmeldung“, „Menü/Sitemap“, „Plugin“, „Skript“, „Trenner“, „HTML“ sowie das Plugin „News“ nicht einsetzen. Wählen Sie diese also für die Verbotsliste aus.

Abbildung 5: Ausschlussliste für Inhaltstypen (Gruppe Redakteure). 

Abbildung 5: Ausschlussliste für Inhaltstypen (Gruppe Redakteure).

 

Freigaben und Arbeitsumgebungen

In „Freigaben und Arbeitsumgebungen“ werden der Bereich des Seitenbaums, der bearbeitet werden darf,bestimmtsowie Bereiche im Fileadmin genannt, in denen Daten abgelegt werden können. Wählen Sie über den Elementbrowser im Feld „Datenbankfreigaben“ für die Redakteure die Seite „Themen“ als Einstiegspunkt („Webmount“) in den Seitenbaum. Dies erlaubt die Bearbeitung dieser Seite inklusive Unterseiten sowie das Anlegen weiterer Seiten in diesem Zweig.

Anzeige
Anzeige

Im Feld „Verzeichnisfreigaben“ stehen alle erstellten Freigaben zur Auswahl. Wählen Sie „Redakteure“. Hiermit gestatten Sie den Zugriff auf den entsprechenden Ordner im Fileadmin. Speichern Sie nun die Gruppeneinstellungen.

Die Einstellungen der anderen beiden Gruppen

Analog gehen Sie nun für die Chefredakteure und die Newsredakteure vor. Die Chefredakteure erhalten pauschal alle Zugriffsrechte und keinen Ausschluss von Inhaltstypen. Als Webmounts wählen Sie die Seite „Root“ und zusätzlich den Sysfolder „News“, in dem Newsmeldungen abgelegt werden. Weisen Sie den Chefs alle bestehenden Verzeichnisfreigaben zu.

Die Newsredakteure brauchen die Module „Web“, „Web->Liste“, „Date“ und „Datei->Dateiliste“ sowie außerdem schreibenden Zugriff auf die Tabellen „News“ und „Newskategorien“. Der Ausschluss von Inhalten ist irrelevant, da lediglich News bearbeitet werden. Teilen Sie der Gruppe in den erlaubten Ausschlussfeldern alle Einträge mit dem Präfix „News:“ zu. Einziger Webmount ist der Sysfolder „News“. Abschließend weisen Sie den Newsredakteuren noch „ihren“ Ordner im Fileadmin zu.

Anzeige
Anzeige

Erzeugen Sie nun drei exemplarische Einzelnutzer (im Beispiel „carlo“ als Chefredakteur, „rudi“ als Redakteur und „norbert“ als Newsredakteur) und weisenSiejedem eine der administrativen Gruppen zu. In „Admin-Werkzeuge->Verwaltung“ sehen Sie eine Liste der angelegten Nutzer. Klicken Sie die Checkboxen „Gruppenzugehörigkeit“ und „Webmounts“ an, um auch die jeweilige Gruppe und den Seitenbaumeinstieg anzeigen zu lassen.

Den Zugriff auf den Seitenbaum erlauben

Wenn Sie aus dem Administrator-Account in den eines der angelegten Einzelnutzer wechseln, sehen Sie, dass diese trotz zugewiesener Mountpoints im Seitenbaum die ihnen zugedachten Seiten nicht sehen können (der Zugriff auf den Fileadmin klappt hingegen). Der Grund: TYPO3 verwaltet Zugriffsrechte auch noch auf einer anderen Ebene, nämlich in Form der „Seitenbaumrechte“. Ähnlich wie in Unix üblich, „gehört“ ein Seitendatensatz nämlich dem Ersteller (und seiner Benutzergruppe). Bislang wurden alle Seiten vom Administrator angelegt, der keiner Gruppe angehört. Auf Ebene dieser Gruppenrechte wird nun eingegriffen. Wechseln Sie in das Modul „Web->Zugriff“ und gehen Sie in den Bereich „Rechte“.

Hier tritt ein Problem auf: Gruppenrechte können nur einmal vergeben werden. Es sind jedoch drei Gruppen vorhanden. Natürlich könnte man die Baumrechte partiell zuweisen, zum Beispiel „Themen“ an die Redakteure, den Ordner „News“ an die Newsredakteure, den Rest an die Chefs. Die Chefs könnten jedoch die den anderen Gruppen zugewiesenen Bereiche weder sehen noch bearbeiten (Abb. 6, links). Lösbar ist dies, indem man die „Redakteure“ und „Newsredakteure“ zu Untergruppen der „Chefredakteure“ erklärt, womit diese deren Rechte „erben“ (Gruppeneinstellungen, Bereich „Allgemein“). Das funktioniert soweit.
Leider handelt man sich hiermit Probleme einer ganz anderen Kategorie ein.

Anzeige
Anzeige
Abbildung 6: Untergruppenrechte werden stets vor Hauptgruppenrechten eingebunden. 

Abbildung 6: Untergruppenrechte werden stets vor Hauptgruppenrechten eingebunden.

 

Untergruppen und die Vermischung von Rechten

Wie gewünscht, erhalten die Chefredakteure über ihre Untergruppen die Rechte an den Seitenbaumbereichen dieser Gruppen. Jedoch auch bei den Backendrechten wirken sich Untergruppen aus. Erinnern wir uns an die Positiv- und Negativlisten bei der Vergabe der Rechte: In der Tat erbt die Hauptgruppe von der Untergruppe auch deren Backend-Erlaubnisse, Webmounts und Dateifreigaben. Dies führt dazu, dass ein Chefredakteur neben seinem Teil des Seitenbaums redundant auch den Mount „Themen“ (der Redakteure) sieht (Abb. 6, Mitte).

Das könnte noch als „lästig, aber verschmerzbar“ toleriert werden. Ärgerlich ist, dass sich auch die Negativlisten der Inhaltsausschlüsse addieren – und zwar, indem für die Untergruppe ausgeschlossene Typen auch für die Hauptgruppe ausgeschlossen bleiben, ohne dass dies irgendwie rückgängig gemacht werden könnte. Der Chefredakteur kann plötzlich keine Plugins mehr einfügen, da dies den Redakteuren verboten wurde. Dies ist nicht akzeptabel. Es gibt aber noch einen weiteren Grund, nach einer anderen Lösung zu suchen.

Eine weitere Gruppe für die Seitenbaumrechte

Sobald mehrere Gruppen damit beginnen, Seiten zu erstellen, wird auch die Rechtelage im Baum schnell unübersichtlich: Eine neue Seite bekommt, wie bereits angedeutet, die Gruppenrechte der Hauptgruppe des Erstellers zugewiesen. Ein Redakteur beispielsweise „sieht“ die vom Chef erstellte Seite „Thema3“ ohne nachfolgende Rechteänderung zunächst nicht, denn diese „gehört“ den Chefredakteuren (Abb. 7). Auch dieser Umstand ist zumindest lästig.

Anzeige
Anzeige
Abbildung 7: Die neue Seite „Thema 3“ gehört den Chefredakteuren, nur diese können sie sehen und bearbeiten. 

Abbildung 7: Die neue Seite „Thema 3“ gehört den Chefredakteuren, nur diese können sie sehen und bearbeiten.

 

Es ist zum einen wünschenswert, dass eine Besitzergruppe für neue Seiten automatisch festgelegt werden kann und zum anderen,dassjede Benutzergruppe auf neue Seiten Zugriff erhält, sofern sie sich innerhalb deren Mountbereichs befinden. Es soll also ein Chefredakteur eine Seite anlegen können, die ein Redakteur im Anschluss bearbeiten können soll, ohne dass weitere Maßnahmen erforderlich sind.

Zur Lösung des Problems führen wir eine neue Hilfsgruppe ein, deren Sinn ausschließlich darin besteht, die Seitenbaumrechte zu besitzen. Diese Gruppe erhält keine Backendrechte und auch keine Mountpoints und Verzeichnisfreigaben zugewiesen. Eine solche „neutrale“ Gruppe kann jeder der anderen Gruppen als Untergruppe zugewiesen werden, ohne dass (wie zuvor gezeigt) auf der Ebene der Backendrechte Vermischungen auftreten. Die Untergruppe gibt an ihre Hauptgruppe jedoch – und dies ist der eigentliche Clou – die Rechte am Seitenbaum weiter.

Erstellen Sie nun eine neue Gruppe namens „Seitenbaumrechte“. Weisen Sie ihr keine weiteren Eigenschaften zu, erteilen Sie ihr aber über das Modul „Web>Zugriff“ rekursiv ab „Root“ die Rechte am Seitenbaum (Vergessen Sie dabei nicht eventuelle Sysfolder für News etc.!). Weisen Sie die neue Gruppe nun jeder einzelnen der restlichen Gruppen als (einzige) Untergruppe zu.

Anzeige
Anzeige

Anschließend haben die Mitglieder der administrativen Gruppen erneut Zugriff auf den Seitenbaum, ohne dass eine Vermischung von Rechten oder ungewollte Addition von Mountpoints erfolgt (Abb. 6, rechts). Nun gilt es lediglich, noch das Eigentumsproblem neu erstellter Seiten zu lösen.

Eigentumsverhältnisse neuer Seiten

Die Rechte am Seitenbaum müssen im „Seitenkontext“ festgelegt werden, also nicht auf Benutzer- oder Gruppenebene und ebenfalls nicht im Rahmen der Seitentemplates. Die Eingabe des folgenden TypoScripts (siehe Listing 1) erfolgt daher in den Eigenschaften eines Seitendatensatzes (in „Optionen“). Hier bietet sich die Seite „Root“ an, da die Konfiguration sich anschließend auf den gesamten Seitenbaum vererbt. Auf einer neu erstellten Seite „Thema4“ liegen nun von Anfang an die gewünschten Rechte (Abb. 8).

Abbildung 8: Korrekte Gruppenrechte für neue Seiten nach Einfügen des TypoScripts in „Root“. 

Abbildung 8: Korrekte Gruppenrechte für neue Seiten nach Einfügen des TypoScripts in „Root“.

 

TYPOSCRIPT 
# Setzen der Seitenbaumrechte per TypoScript
TCEMAIN {
	# Besitzergruppe festlegen (ID der Gruppe „Seitenbaumrechte“):
	permissions.groupid = 4 

	# Rechte Besitzer:
	permissions.user = show, editcontent, edit, delete, new

	# Rechte Besitzergruppe:
	permissions.group = show, editcontent, edit, delete, new

	# Rechte "everybody" (kann ungesetzt bleiben):
	permissions.everybody =
}

Listing 1

Dieses Tutorial bietet einen inhaltlichen Ausblick auf das Buch „Einstieg in TYPO3 4.3“ von Frank Bongers und Andreas Stöckl, das in Kürze bei Galileo Press erscheint [1]. Einen anderen, hochinteressanten Ansatz zum Thema beschreibt Daniel Pötzinger in der t3n-Ausgabe Nr. 4 [2].

 

Mehr zu diesem Thema
Fast fertig!

Bitte klicke auf den Link in der Bestätigungsmail, um deine Anmeldung abzuschließen.

Du willst noch weitere Infos zum Newsletter? Jetzt mehr erfahren

Anzeige
Anzeige
2 Kommentare
Bitte beachte unsere Community-Richtlinien

Wir freuen uns über kontroverse Diskussionen, die gerne auch mal hitzig geführt werden dürfen. Beleidigende, grob anstößige, rassistische und strafrechtlich relevante Äußerungen und Beiträge tolerieren wir nicht. Bitte achte darauf, dass du keine Texte veröffentlichst, für die du keine ausdrückliche Erlaubnis des Urhebers hast. Ebenfalls nicht erlaubt ist der Missbrauch der Webangebote unter t3n.de als Werbeplattform. Die Nennung von Produktnamen, Herstellern, Dienstleistern und Websites ist nur dann zulässig, wenn damit nicht vorrangig der Zweck der Werbung verfolgt wird. Wir behalten uns vor, Beiträge, die diese Regeln verletzen, zu löschen und Accounts zeitweilig oder auf Dauer zu sperren.

Trotz all dieser notwendigen Regeln: Diskutiere kontrovers, sage anderen deine Meinung, trage mit weiterführenden Informationen zum Wissensaustausch bei, aber bleibe dabei fair und respektiere die Meinung anderer. Wir wünschen Dir viel Spaß mit den Webangeboten von t3n und freuen uns auf spannende Beiträge.

Dein t3n-Team

André Spindler

Mich wundert, warum unter dem Punkt „Untergruppen und die Vermischung von Rechten“ ein wesentlicher Punkt ausgelassen wurde.

Während Herr Bongers sich über die Vermischung der Negativlisten der Inhaltsausschlüsse beklagt, gibt es eine sehr einfache Methode, dieses Problem elegant zu lösen:

Im Install-Toll ist die Direktive [BE][explicitADmode] von „explicitDeny“ (Default-Wert) auf „explicitAllow“ zu setzen.
VORSICHT: Damit werden alle bisher gemachten Eintragungen in diesen Feldern gelöscht.

Anschließend kann ganz einfach definiert werden, für welche Inhaltselemente die Bearbeitung freigeschaltet wird.

Dieses Verfahren hat noch einen zweiten, wesentlichen Vorteil:
Im Standardmodus („explizit Allow“) sind neue Inhaltselemente und Plugins von Erweiterungen zunächst IMMER für alle Benutzer freigeschaltet. Nach jedem neu installierten Plugin müssen diese Anpassungen überall erneut vorgenommen werden. Vor allem dann, wenn die Redakteure gar keinen Zugriff darauf haben sollen.
Mit der neuen Methode entfällt dies, weil die Elemente zunächst NICHT für Redakteure bearbeitbar sind.

Antworten
Waldemar

Was mich interessieren würde ist ob einzelne Seiten der Benutzergruppe freigeschaltet werden können und wie?

Antworten

Melde dich mit deinem t3n Account an oder fülle die unteren Felder aus.

Bitte schalte deinen Adblocker für t3n.de aus!
Hallo und herzlich willkommen bei t3n!

Bitte schalte deinen Adblocker für t3n.de aus, um diesen Artikel zu lesen.

Wir sind ein unabhängiger Publisher mit einem Team von mehr als 75 fantastischen Menschen, aber ohne riesigen Konzern im Rücken. Banner und ähnliche Werbemittel sind für unsere Finanzierung sehr wichtig.

Schon jetzt und im Namen der gesamten t3n-Crew: vielen Dank für deine Unterstützung! 🙌

Deine t3n-Crew

Anleitung zur Deaktivierung
Artikel merken

Bitte melde dich an, um diesen Artikel in deiner persönlichen Merkliste auf t3n zu speichern.

Jetzt registrieren und merken

Du hast schon einen t3n-Account? Hier anmelden

oder
Auf Mastodon teilen

Gib die URL deiner Mastodon-Instanz ein, um den Artikel zu teilen.

Anzeige
Anzeige