User Access Manager für Benutzergruppen

Geschützter Zugriff in WordPress

WordPress kennt von Haus aus für den geschützten Zugriff Benutzer (User), Rollen (Roles) und Capabilities, leider aber noch keine Benutzergruppen.

Man kann den einzelnen Benutzern Rollen zuweisen und damit deren Capabilities definieren, also die Berechtigungen für das Lesen, Schreiben und Verwalten von Beiträgen etc.

Es gibt die folgenden Rollen:

  1. Administrator (administrator): darf alles, insbesondere auch alle Verwaltungsfunktionen wahrnehmen, z.B. Benutzer erfassen
  2. Redakteur (editor):  darf eigene und fremde Posts publizieren und verwalten
  3. Author (author): darf eigene Posts publizieren und verwalten
  4. Mitarbeiter (contributor): darf eigene Beiträge publizieren und verwalten, aber nicht publizieren
  5. Abonnent (subscriber):  Kann Beiträge und Kommentare lesen, sowie Kommentare erstellen, sofern dies der Artikel erlaubt.

Diese Funktionalität deckt zwar einiges ab, aber für die Verwaltung von Projekt-Informationen für Kundenprojekte reicht sie nicht aus, denn dort möchte man ganze Teile eines Web Sites nur ganz bestimmten Gruppen zugänglich machen.

Das Plugin „User Access Manager“

Wenn in WordPress nicht alle Artikel öffentlich sind, sondern bestimmte Kategorien oder Schlagwörter nur für bestimmte Benutzergruppen bestimmt sind, dann empfiehlt sich das Plugin User Access Manager.

Herunterladen kann man das Plugin hier.

Nach der Installation des Plugins erhält man im WordPress-Verwaltungsfenster unten links einen Block UAM, mit dem sich Gruppen erstellen und verwalten lassen. Ausserdem erscheint beim Erstellen von Artikeln rechts eine Box „Access“ mit allen bisher vorhandenen Gruppen, so dass man nun einen Artikel nur bestimmten Gruppen anzeigen lassen kann.

UAM für Projekt-Information

Die bessere Option ist es allerdings, sich einen hierarchischen Baum von Kategorien aufzubauen und dann ganze Kategorien einer Gruppe zuzuweisen. Damit reicht es, einen Artikel einer Kategorie mit einer Benutzergruppe zuzuweisen, um ihn auf bestimmte Benutzer zu beschränken.

Nun ist die Wirklichkeit natürlich ein Bisschen komplizierter. Kategorien sind ja nicht eindeutig. Was passiert also, wenn ich den Artikel einer geschützten und einer ungeschützten Kategorie zuweise? Meine Versuche lassen darauf schliessen, dass UAM hier ein Betriebssystem reagiert, d.h. die restriktivere Regel gilt und der Artikel wird nur der Gruppe angezeigt.

Weiter einschränken kann ich die Rechte immer: Wenn ich einen Artikel zwar in einer geschützten Kategorie ablegen möchte, aber nicht einmal die Gruppenmitglieder ihn sehen dürfen, dann kann ich die Kategorie zuweisen, aber in Access die Gruppe wieder entfernen. Ein solcher Fall wären  z.B. Informationen zu einem Projekt, welche zwar die Entwickler/innen, nicht aber die Mitarbeiter/innen des Kunden sehen sollen.

Die Umkehrung dagegen scheint nicht möglich zu sein: Wenn ich den Artikel mehreren Kategorien zuweise, von denen eine einzige eine Beschränkung aufweist, dann kann ich ihn nicht wieder für alle öffnen. Auch ein Trick wie das Anlegen einer Gruppe „alle“ mit allen Benutzern und das explizite Zuweisen eines Artikels zu dieser Gruppe klappt nicht.

UAM-Konfiguration für das Projektmanagement

Die folgenden Einstellungen sind nützlich für ein Blog, das der Dokumentation und dem Management von Projekten dient

Nur erlaubte Beiträge auf Startseite

UAM – Einstellungen – Kompletten Post verstecken: Ja – Komplette Seiten verstecken: Ja

Achtung bei Gruppen und Rollen

Die UAM User Groups sollten möglichst nicht Rollen zugeteilt werden. Wird nämlich einem User eine Rolle zugewiesen, dann wird er oder sie automatisch Mitglied aller Gruppen, welche diese Rolle haben! Diese Default-Mitgliedschaft lässt sich auf der Profilseite nicht ändern.

Eine vernünftige Konfiguration ist, dass man eine Gruppe „Alle“ erstellt mit der Rolle „Subscriber“ (Abonnent), während alle anderen Gruppen keine Rolle aufweisen. Auf jeden Fall dürfen Gruppen, die für die internen und externen Mitarbeiter den Zugriff auf projektspezifischen Informationen eines Kundenprojektes regeln, auf gar keinen Fall eine Rolle zugewiesen erhalten. Sonst ist diese kundenspezifische Information für alle User mit dieser Rolle frei zugänglich!

Probleme bei Updates

Jedes Mal, wenn ich einen WordPress-Update mache, gibt es Probleme mit den UAM, die dazu führen, dass gesperrte Seiten sichtbar sind (zum Glück ist mir das bis jetzt nur auf dem lokalen Test-Website passiert). Es scheint daran zu liegen, dass die UAM für Kategorien während des Updates verschwinden. Da mein Blog vor allem über die Kategorien geschützt wird, ist das natürlich sehr hässlich!

Fazit

Alles in allem ist UAM ein mächtiges und für Projekt-Websites äusserst nützliches Instrument. Aber wie bei einem Betriebssystem ist eine vorgängige Planung der Benutzergruppen und Zugriffsrechte ebenso notwendig wie eine disziplinierte Umsetzung. Die Gefahr ist weniger, dass man mit einem Fehlklick sensible Information veröffentlicht, als dass man Leute von Informationen ausschliesst.

Ausserdem ist es unumgänglich, sich mit dem Funktionieren dieses Plugins sehr gut vertraut zu machen, bevor man anfängt, sensible Informationen zu erfassen. Das Zusammenspiel von Usern, Gruppen, Rollen und Zugriffsrechten ist nicht immer intuitiv. Dies belegt zum Beispiel auch der Abschnitt „Achtung bei Gruppen und Rollen“. Leider lässt die Dokumentation hier zu wünschen übrig, gewisse Regeln findet man nur durch eigene Experimente.

Und im Moment habe ich auch zu wenig Erfahrung, um das Tool auf seine Verlässlichkeit einzuschätzen. Hochsensible Information würde ich sicher (noch) nicht mit diesem Tool absichern. Die Probleme mit den Updates sprechen im Moment ebenfalls dagegen, es sei denn, man kann damit leben, seine WordPress-Version nie mehr upzudaten!

 

Comments are closed.