Dokumentation · Datenschutz, Sicherheit und Compliance

Zugriffskontrolle und Berechtigungen

Dieses Dokument beschreibt, wie das ADP Car Market Hub-Plugin WordPress-Rollen und -Berechtigungen verwendet, um den Zugriff auf seine Admin-Funktionen und die von ihm registrierten Custom Post Types zu steuern. Es dient als Referenz für Website-Administratoren und Autohaus-Manager, die internen Benutzern die passende Zugriffsebene gewähren müssen.

Wann Sie dieses Dokument verwenden sollten

Verwenden Sie dieses Dokument, wenn Sie:

  • Entscheiden müssen, welche WordPress-Rolle oder -Berechtigung Sie einem Kollegen zuweisen, der Fahrzeugangebote oder Plugin-Einstellungen verwaltet.
  • Überprüfen möchten, wer Zugriff auf die Admin-Seiten des Plugins und auf Lead-Daten hat.
  • Das Plugin in ein Rollenverwaltungs-Plugin oder ein benutzerdefiniertes Code-Snippet zur Berechtigungszuweisung integrieren möchten.
  • Fehler des Typs „Sie haben keine Berechtigung“ im Plugin-Admin beheben müssen.

Übersicht

Das Plugin legt zwei Sätze von Berechtigungen über das standardmäßige WordPress-Rollensystem:

  1. Eine einzelne Plugin-Verwaltungsberechtigung (manage_as24_imports), die jede Plugin-Admin-Seite, jeden Admin-POST-Handler, jede Plugin-Admin-AJAX-Aktion und das benutzerbezogene Dashboard-Widget schützt.
  2. Einen Satz von Custom-Post-Type-Berechtigungen für den Fahrzeug-Post-Type as24ci_car, die über capability_type = ['as24ci_car', 'as24ci_cars'] mit map_meta_cap = true zugewiesen werden.

Das Plugin erstellt außerdem eine benutzerdefinierte Rolle (as24ci_editor), die die Fahrzeug-CPT-Berechtigungen besitzt, aber nicht die Verwaltungsberechtigung. Die Rolle administrator erhält bei der Plugin-Aktivierung / dem Berechtigungs-Upgrade beide Sätze.

Das Plugin ändert die standardmäßige WordPress-Rolle editor nicht.

Berechtigungsreferenz

Plugin-Verwaltungsberechtigung

BerechtigungZweck
manage_as24_importsErforderlich für: Plugin-Admin-Seiten und -Tabs (Settings, Importer, Tools, Logs, Leads, Analytics, Search Alerts, Health, Locations, PDF Manager, AI Assistant, Market Hub, Mapping, Design, Features, Automation, Support, EnvKV), das Dashboard-Widget, den Diagnose-Export, die Bulk-Action-Handler und die Admin-AJAX-Endpunkte des Plugins.

Dies ist die Berechtigung, die Sie einem Benutzer gewähren, der das Plugin selbst verwalten muss. Standardmäßig wird sie nur der Rolle administrator zugewiesen.

Fahrzeug-Post-Type-Berechtigungen (as24ci_car)

Das Plugin registriert die folgenden benutzerdefinierten CPT-Berechtigungen. Mit map_meta_cap = true löst WordPress die singulären („Meta“-)Berechtigungen automatisch anhand des Besitzes des jeweiligen Beitrags auf.

BerechtigungTypZweck
read_as24ci_carMetaEin einzelnes Fahrzeug lesen.
edit_as24ci_carMetaEin einzelnes Fahrzeug bearbeiten.
delete_as24ci_carMetaEin einzelnes Fahrzeug löschen.
read_private_as24ci_carsPrimitivFahrzeuge im Status „Privat“ lesen.
edit_as24ci_carsPrimitivGenereller Zugriff auf den Fahrzeug-Editor.
edit_others_as24ci_carsPrimitivFahrzeuge bearbeiten, die anderen Benutzern gehören.
edit_published_as24ci_carsPrimitivVeröffentlichte Fahrzeuge bearbeiten.
publish_as24ci_carsPrimitivFahrzeug-Beiträge veröffentlichen.
delete_as24ci_carsPrimitivFahrzeuge generell löschen.
delete_others_as24ci_carsPrimitivFahrzeuge löschen, die anderen Benutzern gehören.
delete_published_as24ci_carsPrimitivVeröffentlichte Fahrzeuge löschen.

Diese Berechtigungen folgen dem standardmäßigen WordPress-CPT-Muster. Sie steuern den Zugriff auf die Fahrzeug-Tabellenansicht und die Editor-Bildschirme im WordPress-Admin sowie über alle Codepfade, die standardmäßige WordPress-Berechtigungsprüfungen berücksichtigen.

Lead-Post-Type (as24ci_lead)

Der Lead-Post-Type ist als nicht öffentlich registriert. Er wird absichtlich nicht in der standardmäßigen WordPress-Beitrags-UI angezeigt und ausschließlich über den Admin-Tab Leads des Plugins verwaltet. Der Zugriff auf diesen Tab wird durch die Berechtigung manage_as24_imports geschützt.

Weitere Informationen zu Lead-Daten und deren Verwaltung finden Sie unter Lead-Daten und Einwilligung.

Vom Plugin erstellte Rollen

administrator (bestehend)

Bei der Plugin-Aktivierung / dem Berechtigungs-Upgrade:

  • Erhält alle oben aufgeführten as24ci_car-Berechtigungen.
  • Erhält zusätzlich manage_as24_imports.

Das bedeutet, dass ein Standard-Administrator das Plugin und seine Inhalte direkt nach der Installation verwalten kann.

as24ci_editor (neue Rolle)

Bei der Plugin-Aktivierung / dem Berechtigungs-Upgrade erstellt (oder stellt sicher) das Plugin die Rolle as24ci_editor mit:

  • Der grundlegenden Berechtigung read.
  • Allen oben aufgeführten as24ci_car-Berechtigungen.

Der Rolle wird absichtlich nicht manage_as24_imports gewährt. Benutzer in dieser Rolle können Fahrzeug-Beiträge verwalten (auflisten, bearbeiten, veröffentlichen, löschen), aber Folgendes nicht tun:

  • Die Einstellungen, den Importer, die Tools, Logs, Analytics, Leads, Suchaufträge oder andere Admin-Tabs des Plugins öffnen.
  • Die Admin-AJAX- oder Admin-POST-Handler des Plugins verwenden.
  • Das Dashboard-Widget des Plugins sehen.

Diese Rolle ist für Mitarbeiter (z. B. Content-Manager) gedacht, die einzelne Fahrzeugdaten pflegen müssen, ohne Zugriff auf die Plugin-Konfiguration oder auf Anfragedaten zu haben.

Andere WordPress-Rollen

Das Plugin gewährt den Rollen WordPress editor, author, contributor oder subscriber keine seiner benutzerdefinierten Berechtigungen. Um diesen Rollen Zugriff zu gewähren, muss ein Administrator die entsprechenden Berechtigungen explizit hinzufügen (mithilfe eines Rollenverwaltungs-Plugins oder über benutzerdefinierten Code).

Öffentliche REST-Schnittstelle

Zwei schreibgeschützte REST-Routen werden registriert, wenn die Option REST-API aktivieren aktiv ist:

  • GET /wp-json/as24ci/v1/vehicles
  • GET /wp-json/as24ci/v1/vehicles/{id}

Beide Routen verwenden einen permission_callback von __return_true. Sie sind dazu gedacht, ausschließlich öffentliche Fahrzeugdaten bereitzustellen, und erfordern keine Berechtigung. Deaktivieren Sie die Option in den Plugin-Einstellungen, wenn Sie diese Schnittstelle nicht bereitstellen möchten.

Der Cron-Import-Endpunkt (/wp-json/as24ci/v1/cron-import) verwendet ebenfalls __return_true für die WordPress-Berechtigungsprüfung, führt jedoch eine eigene tokenbasierte Authentifizierung innerhalb des Callbacks durch. Siehe Sicherheitsempfehlungen.

Die Frontend-AJAX-Endpunkte des Plugins, die für das Kontaktformular, die Favoriten und den Suchauftrags-Workflow verwendet werden, basieren auf Nonces und funktionsspezifischen Prüfungen (z. B. Double-Opt-In-Token) anstelle von Berechtigungsprüfungen, da sie von Website-Besuchern aufgerufen werden sollen.

So gewähren Sie Zugriff

Der empfohlene Ansatz besteht darin, eine der folgenden Rollen zuzuweisen:

  • Plugin-Administrator — weisen Sie die Rolle WordPress administrator zu.
  • Fahrzeug-Content-Editor — weisen Sie die Rolle as24ci_editor zu.
  • Benutzerdefinierte Rolle — fügen Sie mithilfe eines Rollenverwaltungs-Plugins oder eines benutzerdefinierten Snippets die benötigten Berechtigungen aus den obigen Tabellen hinzu. Um vollen Plugin-Admin-Zugriff zu gewähren, ohne den Benutzer zum Website-Administrator zu machen, fügen Sie der benutzerdefinierten Rolle manage_as24_imports sowie alle as24ci_car-Berechtigungen hinzu.

Bei Verwendung eines Rollenverwaltungs-Plugins erscheinen die Berechtigungen des Plugins unter dem Post-Type as24ci_car und als eigenständige Berechtigung (manage_as24_imports).

Schritt für Schritt: Einem Kollegen nur Zugriff auf die Fahrzeugverwaltung geben

  1. Öffnen Sie Benutzer im WordPress-Admin.
  2. Bearbeiten Sie das Benutzerkonto des Kollegen.
  3. Wählen Sie in der Rollenauswahl AS24 Editor (die vom Plugin erstellte Rolle as24ci_editor).
  4. Speichern Sie den Benutzer.
  5. Überprüfen Sie, ob der Kollege die Standard-Fahrzeugliste unter dem Admin-Menü AS24 Cars öffnen und einzelne Fahrzeuge bearbeiten kann, aber keinen Zugriff auf die Admin-Seiten des ADP Car Market Hub-Plugins hat.

Schritt für Schritt: Einem Kollegen vollen Plugin-Zugriff geben

  1. Bestätigen Sie, dass Sie dem Kollegen in Bezug auf die Einstellungen des Plugins, die API-Zugangsdaten und die Lead-Daten vertrauen.
  2. Weisen Sie entweder die Rolle WordPress administrator zu oder fügen Sie die Berechtigung manage_as24_imports und alle as24ci_car-Berechtigungen mithilfe Ihres Rollenverwaltungstools einer benutzerdefinierten Rolle hinzu.
  3. Melden Sie sich als dieser Benutzer an und überprüfen Sie, ob die Admin-Seiten des Plugins sichtbar sind und Admin-Aktionen ohne Berechtigungsfehler durchgeführt werden können.

Betriebshinweise

  • Berechtigungen werden bei der Plugin-Aktivierung und bei jeder Anfrage über eine Routine zur eventuellen Aktualisierung der Berechtigungen („maybe upgrade caps“) angewendet. Wenn eine benutzerdefinierte Rolle extern entfernt und neu erstellt wird, melden Sie sich als Administrator an und laden Sie den WordPress-Admin neu, damit die Routine die Berechtigungen neu zuweisen kann.
  • Die Rolle as24ci_editor wird erstellt, falls sie nicht existiert, und mit den CPT-Berechtigungen befüllt. Administratoren können die Rolle mithilfe eines Rollenverwaltungs-Plugins um zusätzliche WordPress-Berechtigungen (z. B. Zugriff auf Medien) erweitern.
  • Das Plugin entfernt die benutzerdefinierte Rolle oder die Berechtigungen derzeit nicht bei der Deaktivierung. Überprüfen Sie dieses Verhalten in der aktuellen Plugin-Version, bevor Sie Prozessdokumentationen veröffentlichen, die darauf basieren.
  • Alle Admin-POST-Handler und Admin-AJAX-Endpunkte prüfen zur zusätzlichen Sicherheit die Berechtigung manage_as24_imports und ein Anfrage-Nonce, selbst wenn sie von einem Bildschirm aus aufgerufen werden, der die Berechtigung bereits vorausgesetzt hat.

Fehlerbehebung

  • „Es tut mir leid, aber du bist nicht berechtigt, diese Seite zu sehen“ im Plugin-Admin — der Benutzer besitzt nicht die Berechtigung manage_as24_imports. Gewähren Sie diese entweder explizit oder weisen Sie die Rolle administrator zu.
  • Das Menü AS24 Cars fehlt für ein Editor-Konto — bestätigen Sie, dass der Benutzer mindestens die Berechtigung edit_as24ci_cars besitzt. Mitglieder von as24ci_editor und administrator sollten diese immer haben.
  • Neu erstellte benutzerdefinierte Rolle kann keine Fahrzeuge bearbeiten — bestätigen Sie, dass die Rolle edit_as24ci_cars und edit_published_as24ci_cars besitzt und die Meta-Berechtigungen zugewiesen sind (map_meta_cap = true ist der Standard für den Post-Type).
  • Der Lead-Admin-Tab fehlt — der Tab Leads wird nur Benutzern angezeigt, die die Berechtigung manage_as24_imports besitzen. Die Rolle as24ci_editor hat diese standardmäßig nicht.
  • Fahrzeug-Endpunkte sind über REST nicht erreichbar — bestätigen Sie, dass die Option REST-API aktivieren aktiv ist; die Routen werden nicht registriert, wenn sie deaktiviert ist.

Zugehörige Dokumente