Das Betrachten von WordPress-Inhalten unterliegt keiner Einschränkung. Wenn eine Seite publiziert ist, können diese Seite alle Besucher der Seite auch sehen. (Wenn in der Folge von “Seiten” die Rede ist, dann gilt das für “Beiträge” gleichermaßen.) Ein Administrator kann Benutzer anlegen oder man kann Besucher dazu einladen, sich zu registrieren. Damit können sich Besucher an der Seite anmelden.

Ob sich Besucher an einer Seite registrieren können, kann man im Dashboard aktivieren: Dashboard -> Einstellungen -> Allgemein -> Mitgliedschaft “Jeder kann sich registrieren”. Ist diese Checkbox deaktiviert, muss der Administrator alle Benutzer händisch eintragen.

Die in WordPress integrierte Rechteverwaltung unterscheidet Rollen, die ein Administrator einem Benutzer zuweisen kann. Die Rechte dieser Rollen beziehen sich auf das Administrieren von Inhalten. Diese Rollen sind:

  • Abonnent (Subscriber): Abonnenten können nur ihr eigenes Profil anpassen
  • Mitarbeiter (Contributor): Kann Beiträge/Seiten erstellen und bearbeiten, diese aber nicht veröffentlichen
  • Autor (Author): kann eigene Beiträge/Seiten erstellen und veröffentlichen, Dateien/Bilder hochladen und Kommentare zu eigenen Beiträgen veröffentlichen
  • Redakteur (Editor): kann Beiträge/Seiten erstellen und veröffentlichen, Dateien/Bilder hochladen, Kommentare löschen, Kategorien und Schlagwörter verwalten, Andere Beiträge/Seiten freischalten
  • Administrator (Administrator): alle Rechte

Eine WordPress-Seite erlaubt also mehreren Benutzern die gemeinsame Bearbeitung von Inhalten, aber sie erlaubt keine Unterscheidung von Leserechten, denn Lesen dürfen die publizierten Inhalte alle Benutzer, egal, ob sie angemeldet sind oder nicht.

Wenn man die Leserechte für verschiedene Benutzer/Benutzergruppen anpassen will, benötigt man spezielle Plugins.

Angemeldet/Nicht angemeldet

Mit dem Plugin “Simple Access Control” kann kann zwischen angemeldeten und nicht-angemeldeten Besuchern unterscheiden. Eine Seite kann dann entweder

  • allen Besuchern oder
  • nur den angemeldeten Besuchern oder
  • nur den nicht angemeldeten Besuchern

gezeigt werden. Damit kann man zum Beispiel zwischen “Familie” (das sind die Benutzer mit einem Login, die sich angemeldet haben) und “Alle anderen” unterscheiden. Praktisch wird dieses Plugin so angewendet, indem bei jeder Seite in den Eigenschaften angegeben wird ob diese Seite von allen Besuchern oder nur von den angemeldeten Besuchern gesehen werden kann. Dieses Plugin wurde auch im Beitrag “Private WordPress-Seite” beschrieben.

Aber bereits, wenn man zwischen “Familie”, “Freunden” und “Alle anderen” unterscheiden will, reicht dieses Plugin nicht aus.

Beispiel

Ich betreibe für unser Wohnhaus die Webseite http://iam.at/leebsicc. Auch ohne Anmeldung kann man gewisse Support-Seiten sehen. Was die Seiten aber nicht verraten, ist der Ort, um den es hier geht und sie nennt auch keine Namen. Es ist eine private Seite, deren eigentlichen Inhalte erst für angemeldete User sichtbar werden. Die Unterscheidung zwischen angemeldeten und nicht angemeldeten Besuchern trifft das Plugin “Simple Access Control”.

Die Seite zeigte sich als so nützlich, dass sich auch unsere Hausverwaltung für einen Zugang interessiert hat. Nun ist es aber so, dass zwar die meisten besprochenen Themen durchaus auch von der Hausverwaltung gesehen werden können, doch gibt es Bereiche wie zum Beispiel die Vorbereitung zu einer Hausversammlung, die man besser ohne Einbeziehung der Hausverwaltung bespricht. Daher genügte der Umstand der Anmeldung nicht, um die Gruppen zu unterscheiden.

Bearbeitung von Rollen

Die in WordPress eingebauten Rollen beziehen sich auf die Veränderung von Inhalten (Beiträge erstellen, ändern, löschen…). Wenn es um die Steuerung des Zugangs zu den Inhalten geht, benötigt man weitere Rollen. Für die Verwaltung von Rollen stellt WordPress keine Bedienungselemente zur Verfügung. Man kann Rollen entweder händisch (per Programmzeilen) bearbeiten oder mit einem Plugin.

Es gibt einige Plugins für die Verwaltung von Rollen. Ich habe zuerst das Plugin “Members” ausprobiert, doch danach verworfen, weil es die Inhalte zwar richtig ausgeblendet hat, nicht aber die Seitentitel im Menü.

Nach vielen Versuchen landete ich beim Plugin “Permissions” von PublishPress. Man kann damit selbst definierte Rollen hinzufügen und danach diesen Rollen besondere Rechte verleihen. “Permissions” gibt es auch in einer mächtigen aber kostenpflichtigen Pro-Version. Diese Pro-Version wird speziell dann benötigt, wenn man die Inhalte vergebühren will. Da wir das nicht brauchen, genügt die kostenlose Version.

Die bereits eingebauten Rollen könnte man löschen, doch habe ich sie belassen, weil sich eventuell andere installierte Plugins auf diese vordefinierten Rollen beziehen.

Beispiel: In meiner Anwendung gibt es drei Arten von Rollen

  • Hauseigentümer (43)
  • Hausverwaltung (1)
  • Hausbewohner (0)
  • Administrator (1)
Drei neue Rollen (Hauseigentümer, Hausverwaltung, Hausbenutzer) und
die ihnen zugewiesenen Leserechte (rechte Spalte)

Leserechte verleihen

Wenn also jeder Benutzer einer Rolle zugeordnet ist, kann man nun daran gehen, diesen Rollen verschiedene Leserechte zu verleihen. Das Plugin “Permissions” blendet am Ende des Editierbereichs einer Seite / eines Berichts Auswahlmöglichkeiten für die Rechte ein.

Am Ende einer Seite (hier “Chronik”) sieht man die Sichtbarkeitseinstellungen für die selbst definierten Rollen.

Das Plugin “Permissions” entfernt eine geblockte Seite auch aus dem Inhaltsverzeichnis, etwas, das im Plugin “Members” nicht funktioniert.

Links