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:
- 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. - Einen Satz von Custom-Post-Type-Berechtigungen für den Fahrzeug-Post-Type
as24ci_car, die übercapability_type = ['as24ci_car', 'as24ci_cars']mitmap_meta_cap = truezugewiesen 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
| Berechtigung | Zweck |
|---|---|
manage_as24_imports | Erforderlich 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.
| Berechtigung | Typ | Zweck |
|---|---|---|
read_as24ci_car | Meta | Ein einzelnes Fahrzeug lesen. |
edit_as24ci_car | Meta | Ein einzelnes Fahrzeug bearbeiten. |
delete_as24ci_car | Meta | Ein einzelnes Fahrzeug löschen. |
read_private_as24ci_cars | Primitiv | Fahrzeuge im Status „Privat“ lesen. |
edit_as24ci_cars | Primitiv | Genereller Zugriff auf den Fahrzeug-Editor. |
edit_others_as24ci_cars | Primitiv | Fahrzeuge bearbeiten, die anderen Benutzern gehören. |
edit_published_as24ci_cars | Primitiv | Veröffentlichte Fahrzeuge bearbeiten. |
publish_as24ci_cars | Primitiv | Fahrzeug-Beiträge veröffentlichen. |
delete_as24ci_cars | Primitiv | Fahrzeuge generell löschen. |
delete_others_as24ci_cars | Primitiv | Fahrzeuge löschen, die anderen Benutzern gehören. |
delete_published_as24ci_cars | Primitiv | Verö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/vehiclesGET /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
administratorzu. - Fahrzeug-Content-Editor — weisen Sie die Rolle
as24ci_editorzu. - 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_importssowie alleas24ci_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
- Öffnen Sie Benutzer im WordPress-Admin.
- Bearbeiten Sie das Benutzerkonto des Kollegen.
- Wählen Sie in der Rollenauswahl AS24 Editor (die vom Plugin erstellte Rolle
as24ci_editor). - Speichern Sie den Benutzer.
- Ü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
- Bestätigen Sie, dass Sie dem Kollegen in Bezug auf die Einstellungen des Plugins, die API-Zugangsdaten und die Lead-Daten vertrauen.
- Weisen Sie entweder die Rolle WordPress
administratorzu oder fügen Sie die Berechtigungmanage_as24_importsund alleas24ci_car-Berechtigungen mithilfe Ihres Rollenverwaltungstools einer benutzerdefinierten Rolle hinzu. - 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_editorwird 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_importsund 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 Rolleadministratorzu. - Das Menü AS24 Cars fehlt für ein Editor-Konto — bestätigen Sie, dass der Benutzer mindestens die Berechtigung
edit_as24ci_carsbesitzt. Mitglieder vonas24ci_editorundadministratorsollten diese immer haben. - Neu erstellte benutzerdefinierte Rolle kann keine Fahrzeuge bearbeiten — bestätigen Sie, dass die Rolle
edit_as24ci_carsundedit_published_as24ci_carsbesitzt und die Meta-Berechtigungen zugewiesen sind (map_meta_cap = trueist der Standard für den Post-Type). - Der Lead-Admin-Tab fehlt — der Tab Leads wird nur Benutzern angezeigt, die die Berechtigung
manage_as24_importsbesitzen. Die Rolleas24ci_editorhat 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.