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 Garagen-Manager, die internen Benutzern die passende Zugriffsebene zuweisen 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ässige WordPress-Rollensystem:
- Eine einzelne Plugin-Verwaltungsberechtigung (
manage_as24_imports), die den Zugriff auf jede Plugin-Admin-Seite, jeden Admin-POST-Handler, jede Plugin-Admin-AJAX-Aktion und das benutzerbezogene Dashboard-Widget steuert. - 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 zudem eine benutzerdefinierte Rolle (as24ci_editor), welche 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ässige 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 erteilen, der das Plugin selbst verwalten muss. Standardmässig 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 pro Beitrag auf.
| Berechtigung | Typ | Zweck |
|---|---|---|
read_as24ci_car | Meta | Einzelnes Fahrzeug lesen. |
edit_as24ci_car | Meta | Einzelnes Fahrzeug bearbeiten. |
delete_as24ci_car | Meta | 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ässigen WordPress-CPT-Muster. Sie steuern den Zugriff auf die Fahrzeug-Listentabelle und die Editor-Ansichten im WordPress-Admin sowie über jeden Code-Pfad, der standardmässige WordPress-Berechtigungsprüfungen berücksichtigt.
Lead-Post-Type (as24ci_lead)
Der Lead-Post-Type ist als nicht-öffentlich registriert. Er wird absichtlich nicht in der standardmässigen WordPress-Beitrags-UI angezeigt und ausschliesslich über den Admin-Tab Leads des Plugins verwaltet. Der Zugriff auf diesen Tab wird durch die Berechtigung manage_as24_imports geschützt.
Details 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 erteilt. 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, Suchabos 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 gedacht (z. B. einen Content Manager), die einzelne Fahrzeugdaten pflegen müssen, ohne Zugriff auf die Plugin-Konfiguration oder auf Anfragedaten zu haben.
Andere WordPress-Rollen
Das Plugin erteilt 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 eingeschaltet 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, ausschliesslich öffentliche Fahrzeugdaten bereitzustellen, und erfordern keine Berechtigung. Deaktivieren Sie die Option in den Plugin-Einstellungen, wenn Sie diese Schnittstelle nicht freigeben 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 vom Kontaktformular, den Favoriten und dem Suchabo-Workflow verwendet werden, basieren auf Nonces und funktionsspezifischen Prüfungen (z. B. Double-Opt-In-Tokens) anstelle von Berechtigungsprüfungen, da sie von Website-Besuchern aufgerufen werden sollen.
So gewähren Sie Zugriff
Der empfohlene Ansatz ist die Zuweisung einer der folgenden Optionen:
- 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 Plugin-Einstellungen, API-Zugangsdaten und Lead-Daten vertrauen.
- Weisen Sie entweder die Rolle WordPress
administratorzu oder fügen Sie einer benutzerdefinierten Rolle mithilfe Ihres Rollenverwaltungstools die Berechtigungmanage_as24_importsund alleas24ci_car-Berechtigungen hinzu. - Melden Sie sich als dieser Benutzer an und überprüfen Sie, ob die Plugin-Admin-Seiten sichtbar sind und Admin-Aktionen ohne Berechtigungsfehler durchgeführt werden können.
Betriebliche Hinweise
- 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 davon abhängen.
- Alle Admin-POST-Handler und Admin-AJAX-Endpunkte prüfen die Berechtigung
manage_as24_importsund ein Anfrage-Nonce als zusätzliche Sicherheitsstufe, selbst wenn sie von einer Ansicht aus aufgerufen werden, die diese Berechtigung bereits voraussetzt.
Fehlerbehebung
- "Entschuldigung, Sie sind nicht berechtigt, diese Seite aufzurufen" im Plugin-Admin — der Benutzer besitzt
manage_as24_importsnicht. Erteilen Sie diese Berechtigung explizit oder weisen Sie die Rolleadministratorzu. - Das Menü "AS24 Cars" fehlt bei einem Editor-Konto — stellen Sie sicher, dass der Benutzer mindestens
edit_as24ci_carsbesitzt. Mitglieder vonas24ci_editorundadministratorsollten diese Berechtigung immer haben. - Neu erstellte benutzerdefinierte Rolle kann keine Fahrzeuge bearbeiten — stellen Sie sicher, 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). - Lead-Admin-Tab fehlt — der Tab Leads wird nur Benutzern angezeigt, die
manage_as24_importsbesitzen. Die Rolleas24ci_editorhat diese Berechtigung standardmässig nicht. - Fahrzeug-Endpunkte sind über REST nicht erreichbar — stellen Sie sicher, dass die Option REST-API aktivieren eingeschaltet ist; die Routen werden nicht registriert, wenn sie ausgeschaltet ist.