Drupal: Rollen und Berechtigungen
Es wäre bei einem Mehrbenutzersystem wie Drupal natürlich fatal, wenn jeder Besucher der Seite alles auf der Seite machen dürfte. Stellt euch vor, jeder dürfte auf euer Backend zugreifen, Artikel bearbeiten und andere Benutzer löschen. Um das daraus unweigerlich resultierende Chaos zu vermeiden, kann man in Drupal den jeweiligen Benutzern Rollen zuweisen. Und über diese Rollen legt man letztendlich fest, was die einzelnen Benutzer tatsächlich dürfen und was ihnen verboten ist. Im zweiten Teil dieses Tutorials erfahrt ihr dann außerdem, wie sich unliebsame Benutzer ganz einfach anhand ihrer IP-Adresse vom System ausschließen lassen.
Von Hause aus bringt Drupal drei Rollen mit:
• Gast
• Authentifizierter Benutzer
• Administrator
Was die Mitglieder der jeweiligen Rollen dürfen, kann man sich über Benutzer>Berechtigungen>Rollen bearbeiten anzeigen lassen.
In dieser Übersicht sind sämtliche Rollen aufgeführt. Um zu überprüfen, was die einzelnen Rollen für Fähigkeiten bzw. Zugriffsrechte haben, wechselt man ins Register Berechtigungen.
So sieht man hier beispielsweise, dass standardmäßig lediglich Administratoren Blöcke verwalten dürfen. Mitgliedern der Rollen Gast und Authentifizierter Benutzer bleibt dieses Recht verwehrt. Anders sieht es mit dem Anzeigen veröffentlichter Inhalte aus. Das dürfen die Mitglieder aller Rollen. Über die Kontrollkästchen kann man festlegen, welche Rechte man den jeweiligen Rollen zuweist.
Für das "richtige Leben" sind die beiden Rollen Gast und Authentifizierter Benutzer zu wenig. (Mit der Rolle Administrator sollte man ohnehin sehr sparsam umgehen. Idealerweise gibt es am System lediglich einen Benutzer, dem diese Rolle zugewiesen ist). Daher werdet ihr früher oder später nicht um das Anlegen eigener Rollen herumkommen. Das ist problemlos möglich, erfordert aber einiges an Vorüberlegungen. Denn die Frage ist natürlich: Was sollen die Mitglieder der jeweiligen Rollen eigentlich machen dürfen? Um zu zeigen, wie man an eine solche Aufgabe am besten herangeht, wird das Anlegen zweier Rollen exemplarisch gezeigt. Die folgenden beiden Rollen werden dabei erzeugt:
• Redakteur – kann Inhalte erstellen.
• Beobachter – beobachtet das System und die Inhalte, darf Inhalte löschen, aber keine eigenen anlegen.
Um eine neue Rolle anzulegen, ruft man Benutzer>Berechtigungen>Rollen auf. Der Name der neuen Rolle – in diesem Fall also Redakteur – wird in das Textfeld eingetragen.
Mit Rolle hinzufügen wird die neue Rolle angelegt. Damit gibt es die Rolle zwar, es müssen allerdings noch deren Berechtigungen angepasst werden. Klickt dazu in der Übersicht zunächst innerhalb der Zeile Redakteur auf Berechtigungen bearbeiten und nehmt die gewünschten Einstellungen vor. Wiederholt diese Schritte auch für die Rolle Beobachter. Damit habt ihr jetzt schon einmal zwei Rollen angelegt. Das Übersichtsfenster der Rollen, das man über Benutzer>Berechtigungen>Rollen aufruft, sollte jetzt folgendermaßen aussehen:
Wenn ihr in das Register Berechtigungen wechselt, werdet ihr feststellen, dass die Rollen jeweils die Berechtigungen der Rolle Authentifizierter Benutzer geerbt haben. Was noch auffällt: Die Kontrollkästchen der beiden neuen Rollen sind ausgegraut bzw. inaktiv. Um die Berechtigungen anzupassen, müsst ihr zunächst immer das Kontrollkästchen der "Eltern-Rolle" deaktivieren. Dann könnt ihr die Berechtigungen der "Kind-Rolle" ebenfalls anpassen.
Für die Rolle Redakteur könnte man folgende Einstellungen vornehmen:
• Kommentare veröffentlichen
• Kommentare anzeigen
• Zugriff auf die Inhaltsübersichtsseite
• Veröffentlichten Inhalt anzeigen
• Article: Neuen Inhalt erzeugen
• Redakteur: Article: Neuen Inhalt erzeugen
• Article: Eigenen Inhalt bearbeiten
• Basic Page: Eigenen Inhalt bearbeiten
• Article: Beliebigen Inhalt bearbeiten
• Basic Page: Beliebigen Inhalt bearbeiten
• Article: Eigenen Inhalt löschen
• Basic Page: Eigenen Inhalt löschen
• Article: Beliebigen Inhalt löschen
• Basic Page: Beliebigen Inhalt löschen
Dadurch können Redakteure alle Seitenelemente bearbeiten, die für sie relevant sind. Das sind Kommentare und Artikel. Für Seiten wurde dieser Gruppe hingegen keine Berechtigung zugewiesen. Seiten sind meistens statisch, sodass dort ohnehin nur selten Änderungen vorgenommen werden. Diese übernimmt dann aber in aller Regel der Administrator selbst.
Bei der Rolle der Beobachter stellt sich die Sache etwas anders dar. Diese sollen Inhalte in aller Regel nicht bearbeiten können. Was sie aber dürfen, ist beispielsweise das Löschen von Inhalten. Dazu gehören Artikel und Seiten.
• Kommentare anzeigen
• Kommentare und Kommentareinstellungen verwalten
• Eigene Kommentare bearbeiten
• Veröffentlichten Inhalt anzeigen
• Inhaltsversionen anzeigen
• Inhaltsversionen zurücksetzen
• Inhaltsversionen löschen
• Article: Beliebigen Inhalt löschen
• Basic page: Beliebigen Inhalt löschen
Auch hier gilt natürlich wieder: Wenn ihr die Berechtigungen anpassen wollt, müsst ihr zunächst die Kontrollkästchen der "Eltern-Rolle" deaktivieren, dann die bei der Beobachter-Rolle anpassen und dann den Zustand der "Eltern-Rolle" wiederherstellen.
Auf diese Weise könnt ihr beliebige Rollen anlegen. Damit ist allerdings erst die halbe Arbeit getan. Tatsächlich müssen die Benutzer nun noch in die Rollen eingefügt werden. Ruft dazu Benutzer auf und klickt innerhalb der sich öffnenden Übersicht auf den Namen des betreffenden Benutzers. Entscheidende Bedeutung kommt dem Register Bearbeiten zu. Darin gibt es nämlich den Bereich Rollen.
Aktiviert hier die Rolle, die für den Benutzer vorgesehen ist. Dabei ist übrigens auch eine Mehrfachauswahl möglich. Interessant ist das beispielsweise, wenn man mit "kleinen" Rollen arbeitet. So könnte man z.B. auch eine Rolle Kommentare definieren.
• Kommentare und Kommentareinstellungen verwalten
• Kommentare anzeigen
• Kommentare veröffentlichen
• Freigabe von Kommentaren überspringen
• Eigene Kommentare bearbeiten
Und dann könnte es eben auch noch eine Rolle Artikel geben, in der dann die Artikel-Berechtigungen enthalten sind. Diese Rollen ließen sich dann beliebig kombinieren. Mit Speichern werden die Einstellungen abschließend übernommen.
Unliebsame Gäste aussperren
Bis Drupal 6 gab es die sogenannten Zugriffsrichtlinien. Anhand solcher Zugriffsrichtlinien konnte man explizit festlegen, wer auf die Webseite zugreifen durfte. So haben es beispielsweise Seitenbetreiber immer wieder mit Spammern zu tun. Sehr oft rekrutieren sich die Spammer dann aus Ländern mit ganz bestimmten Top-Level-Domains (TLD). Das ist sehr praktisch gewesen, um so möglichst einfach unliebsame Besucher auszuschließen.
In Drupal 7 gibt es diese Zugriffsrichtlinien allerdings nicht mehr. Jetzt hat man nur noch die Möglichkeit, IP-Adressen anzugeben, die gesperrt werden. Ruft ein Benutzer mit einer entsprechenden IP die Seite auf, wird eine Meldung angezeigt, die ihn auf diesen Sachverhalt aufmerksam macht.
Eingerichtet wird die IP-Sperre über Konfiguration>Sperren von IP-Adressen. Tragt die IP-Adresse ein, die gesperrt werden soll. Mit Hinzufügen wird diese IP-Adresse in die Liste der zu sperrenden Adressen aufgenommen.
Auf diese Weise könnt ihr beliebig viele IP-Adressen in diese Liste aufnehmen. Wurde eine Adresse versehentlich aufgenommen, kann sie über den Löschen-Link wieder aus der Liste entfernt werden.
