In einem WooCommerce-Shop mit mehreren betrieblichen Benutzerprofilen reicht es nicht aus, jemandem „Zugriff auf das Dashboard“ zu geben, um festzulegen, wer was tun darf. Eine Person im Support muss vielleicht Bestellungen einsehen, darf sie aber nicht erstatten; jemand aus dem Katalogteam kann Produkte bearbeiten, aber keine Änderungen veröffentlichen. Und eine Geschäftsregel – zum Beispiel die Beschränkung der Bestellungen, die ein Team sehen kann – entspricht möglicherweise keiner Standardberechtigung.
Beim Entwurf von Rollen und Berechtigungen in WooCommerce müssen diese Ebenen unterschieden, Aktionen und Ressourcen genau angegeben und sowohl erlaubte als auch verweigerte Zugriffe überprüft werden. Ziel ist es, nur die nötigen Zugriffe zu gewähren, damit die Arbeit erledigt werden kann, ohne berechtigte Aufgaben zu blockieren oder auf improvisierte Regeln angewiesen zu sein.
Rollen, Fähigkeiten und Geschäftsregeln voneinander trennen

Eine Rolle bündelt Berechtigungen für einen bestimmten Benutzertyp. Eine Fähigkeit (Capability) bezeichnet eine Aktion, die das System erlauben kann, etwa Produkte zu bearbeiten oder bestimmte WooCommerce-Optionen zu verwalten. Die Rolle bestimmt, über welche Fähigkeiten ein Benutzer verfügt; sie sollte nicht als Ersatz für jede einzelne Regel verwendet werden.
Die verfügbaren Fähigkeiten hängen von WordPress, WooCommerce und den installierten Erweiterungen ab. Zu den möglichen Bezeichnungen gehören manage_woocommerce, view_woocommerce_reports sowie Fähigkeiten für Produkte oder Bestellungen. Ihre Wirkung sollte nicht allein aus dem Namen abgeleitet werden: Es muss geprüft werden, wie die Installation sie verwendet und welche Vorgänge sie ermöglichen.
Eine Geschäftsregel ergänzt einen Kontext, den eine allgemeine Berechtigung nicht unbedingt abbildet. Ein Beispiel: Einem Support-Mitarbeiter ist es erlaubt, Bestellungen seines Teams einzusehen, nicht jedoch die anderer Teams. Die Berechtigung, Bestellungen zu bearbeiten, legt diese Beschränkung auf einzelne Ressourcen nicht von selbst fest. Zugriffsbeschränkungen dürfen auch nicht mit Prozesskontrollen verwechselt werden, etwa der Pflicht, vor einer Statusänderung eine Genehmigung einzuholen.
Aktionen und Ressourcen erfassen, bevor Berechtigungen zugewiesen werden
Beschreiben Sie zunächst die tatsächlichen Aufgaben der einzelnen Profile. Ermitteln Sie für jede Aktion die betroffene Ressource und den relevanten Kontext. Vermeiden Sie vage Kategorien wie „Shop verwalten“: Sie erschweren die Überprüfung und verbergen häufig unnötige Zugriffe.
- Support: Bestellungen einsehen, erlaubte Informationen aktualisieren, Notizen hinzufügen oder gemäß dem vereinbarten Prozess eine Rückgabe einleiten.
- Katalog: Produkte erstellen und bearbeiten, Bilder oder Kategorien verwalten und gegebenenfalls Änderungen veröffentlichen.
- Administration: Einstellungen, Benutzer und Finanzvorgänge verwalten, soweit diese in den eigenen Verantwortungsbereich fallen.
Diese Beispiele dienen als Ausgangspunkt und stellen keine allgemeingültige Berechtigungszuweisung dar. Eine nützliche Matrix erfasst das Profil, die Aktion, den Ressourcentyp, den Datenumfang, die Bedingungen und das erwartete Ergebnis. Geben Sie auch an, ob eine Aktion das Anzeigen, Erstellen, Bearbeiten, Veröffentlichen, Löschen oder Exportieren von Daten beziehungsweise das Ausführen eines nicht umkehrbaren Vorgangs erlaubt.
Bei „Bestellungen einsehen“ muss zum Beispiel geklärt werden, ob alle Bestellungen gemeint sind, nur zugewiesene Bestellungen, vollständige personenbezogene Daten oder eine eingeschränkte Ansicht. Bei „Produkt bearbeiten“ muss festgelegt werden, ob dazu Preis, Lagerbestand, Sichtbarkeit oder Veröffentlichungsstatus geändert werden dürfen. Präzise Angaben verhindern, dass zwei Teams dieselbe Berechtigung unterschiedlich auslegen.
Eine Matrix erstellen, die Risiken und Kontext berücksichtigt
Kennzeichnen Sie für jede Kombination aus Profil und Aktion, ob sie erlaubt ist, verweigert wird oder an eine Bedingung geknüpft ist. Ergänzen Sie den geschäftlichen Grund und die Person, die für die Genehmigung des Zugriffs verantwortlich ist. Berücksichtigen Sie sensible Vorgänge: Rückerstattungen, Preisänderungen, den Export personenbezogener Daten, das Löschen von Datensätzen sowie Änderungen an Zahlungs- oder Steuereinstellungen.
Eine minimale Matrix sollte folgende Fragen beantworten:
- Welche Aktion ist erforderlich, um den Prozess abzuschließen?
- Für welche Art von Ressource gilt sie, und welche Datensätze fallen in den Umfang?
- Gibt es eine Bedingung, etwa die Zugehörigkeit zu einem Team oder eine Genehmigung?
- Welche Folgen hätte ein Fehler oder Missbrauch der Berechtigung?
- Wie wird der Zugriff überprüft und entzogen, wenn sich die Funktion ändert?
Berücksichtigen Sie die Aufgabentrennung, wenn eine Person einen risikoreichen Vorgang nicht zugleich einleiten und genehmigen darf. Bieten WooCommerce oder die installierten Erweiterungen diese Trennung nicht, dokumentieren Sie die Einschränkung und prüfen Sie eine explizite Lösung. Gehen Sie nicht davon aus, das Problem sei allein durch das Anlegen einer weiteren Rolle gelöst.
Festlegen, wo die einzelnen Regeln umgesetzt werden
Prüfen Sie zuerst, ob eine vorhandene Fähigkeit die erforderliche Aktion genau abbildet. Ist das der Fall, weisen Sie sie der passenden Rolle über ein wartbares Werkzeug oder Verfahren zu und testen Sie das Ergebnis im Dashboard sowie in den relevanten Abläufen. Prüfen Sie auch die Berechtigungen, die andere Erweiterungen vergeben: Die tatsächlich wirksamen Rollen können Fähigkeiten aus verschiedenen Quellen zusammenführen.
Benötigt die Regel eine neue Fähigkeit oder hängt sie von konkreten Daten ab – zum Beispiel vom Team, das einem Auftrag zugewiesen ist –, setzen Sie sie in einer eigenen Erweiterung oder einer wartbaren Komponente um, nicht durch improvisierte Änderungen am Theme. Ein Theme steuert die Darstellung; wird die Autorisierung daran gekoppelt, kann die Regel beim Theme-Wechsel verschwinden oder schwer zu finden und zu testen sein.
Die Implementierung muss den Zugriff an der Stelle prüfen, an der der Vorgang ausgeführt wird, und darf nicht nur Schaltflächen ausblenden. Das Ausblenden einer Option verbessert die Benutzeroberfläche, verhindert aber für sich allein nicht, dass eine direkte Anfrage eine geschützte Aktion ausführt. Bei Regeln für Ressourcen muss außerdem geprüft werden, ob der Benutzer die konkrete Aktion an diesem Datensatz ausführen darf. Halten Sie die Prüfung der allgemeinen Fähigkeit und die Prüfung des Ressourcenumfangs getrennt.
Vergeben Sie keine weitreichenden Fähigkeiten, um eine Integration auszugleichen, die nicht wie erwartet funktioniert. Ermitteln Sie vor einer Erweiterung der Berechtigungen, welche Prüfung fehlschlägt, welche Komponente sie ausführt und ob der Vorgang überhaupt erlaubt sein sollte. Eine weitreichende Ausnahme kann mehr Ansichten oder Aktionen freischalten als vorgesehen.
Erteilte Berechtigungen und verweigerte Zugriffe testen
Tests müssen das Verhalten nachweisen und dürfen sich nicht darauf beschränken, zu bestätigen, dass eine Rolle in der Konfiguration angezeigt wird. Erstellen Sie Testfälle für die relevanten Profile und überprüfen Sie erlaubte und verbotene Aktionen sowie kontextbezogene Grenzen. Hängt eine Aktion vom Bestellstatus, vom Team oder einer anderen Bedingung ab, testen Sie sowohl den Fall, in dem die Bedingung erfüllt ist, als auch den, in dem sie nicht erfüllt ist.
- Ein Support-Benutzer kann eine autorisierte Bestellung einsehen, nicht aber eine andere außerhalb seines Zuständigkeitsbereichs.
- Ein Katalogprofil kann die vorgesehenen Felder bearbeiten, erhält aber ohne Berechtigung keinen Zugriff auf Bestell- oder Shop-Einstellungen.
- Eine Person ohne Berechtigung kann den Vorgang nicht über eine URL oder eine direkte Anfrage abschließen, auch wenn die Schaltfläche nicht angezeigt wird.
- Sensible Vorgänge führen zum erwarteten Ergebnis und umgehen weder Genehmigungen noch festgelegte Einschränkungen.
Führen Sie die Prüfungen in einer repräsentativen Testumgebung mit Konten für jedes Profil und Daten durch, die die relevanten Grenzen abbilden. Wiederholen Sie die Testfälle nach Aktualisierungen von WooCommerce, WordPress oder Erweiterungen, die Bestellungen, Produkte und Rollen betreffen. Dokumentieren Sie das erwartete und das beobachtete Ergebnis, damit spätere Änderungen nicht versehentlich erneut Zugriffe freischalten.
Betriebliche Auswirkungen prüfen und Änderungen protokollieren

Eine zu restriktive Berechtigung kann die Arbeit ebenfalls unterbrechen: Sie kann zum Beispiel verhindern, dass der Support eine Bestellung findet oder das Katalogteam eine dringende Korrektur veröffentlicht. Vereinbaren Sie vor der Bereitstellung von Änderungen, wie temporärer Zugriff beantragt wird, wer ihn genehmigt und wie er wieder entzogen wird. Prüfen Sie vollständige Abläufe gemeinsam mit den Personen, die die Aufgaben erledigen, und nicht nur einzelne Ansichten.
Dokumentieren Sie, welche Rolle welche Fähigkeit gewährt, welche zusätzlichen Regeln den Zugriff einschränken und welche Komponente diese Regeln umsetzt. Führen Sie ein Änderungsprotokoll für Rollen und Berechtigungen mit verantwortlicher Person, Begründung und Datum und überprüfen Sie regelmäßig Konten, die keinen Zugriff mehr benötigen. Kommt es zu einer unerwarteten Zugriffsverweigerung, untersuchen Sie die tatsächlich wirksame Fähigkeit, die Ressourcenregeln, die beteiligten Erweiterungen und den Kontext der Anfrage, bevor Sie eine weitergehende Berechtigung vergeben.
Eine solide Rollen- und Berechtigungskonfiguration in WooCommerce basiert auf überprüfbaren Aktionen, hält Geschäftsregeln dort, wo sie wartbar sind, und weist durch Tests nach, wer was tun kann. So wird der Shop geschützt, ohne dass jeder betriebliche Vorfall zu einer dauerhaften Ausweitung des Zugriffs führt.



