Documentatie · Privacy, beveiliging en naleving
Toegangscontrole en capabilities
Dit document beschrijft hoe de ADP Car Market Hub-plugin WordPress-rollen en -capabilities gebruikt om de toegang tot de beheerfuncties en de door de plugin geregistreerde custom post types te beheren. Het dient als referentie voor sitebeheerders en dealer-managers die het juiste toegangsniveau aan interne gebruikers moeten toewijzen.
Wanneer u dit document moet gebruiken
Gebruik dit document wanneer u:
- Moet beslissen welke WordPress-rol of capability u moet toewijzen aan een collega die voertuigadvertenties of plugin-instellingen beheert.
- Wilt controleren wie toegang heeft tot de beheerpagina's van de plugin en tot leadgegevens.
- De plugin wilt integreren met een plugin voor rolbeheer of een aangepast codefragment dat capabilities toewijst.
- Problemen wilt oplossen met betrekking tot de foutmelding "u hebt geen toestemming" in het beheergedeelte van de plugin.
Overzicht
De plugin voegt twee sets capabilities toe aan het standaard WordPress-rollensysteem:
- Een enkele plugin-beheercapability (
manage_as24_imports) die de toegang regelt tot elke beheerpagina van de plugin, elke admin POST-handler, elke admin AJAX-actie van de plugin en de dashboardwidget per gebruiker. - Een set custom post type capabilities voor het voertuig-posttype
as24ci_car, toegewezen viacapability_type = ['as24ci_car', 'as24ci_cars']metmap_meta_cap = true.
De plugin maakt ook een aangepaste rol aan (as24ci_editor) die de voertuig-CPT-capabilities bevat, maar niet de beheercapability. De rol administrator ontvangt beide sets bij plugin-activering / capability-upgrade.
De plugin wijzigt de standaard WordPress editor-rol niet.
Capabilities-referentie
Plugin-beheercapability
| Capability | Doel |
|---|---|
manage_as24_imports | Vereist voor: plugin-beheerpagina's en -tabbladen (Settings, Importer, Tools, Logs, Leads, Analytics, Search Alerts, Health, Locations, PDF Manager, AI Assistant, Market Hub, Mapping, Design, Features, Automation, Support, EnvKV), de dashboardwidget, de diagnostische export, de bulkactie-handlers en de admin AJAX-endpoints van de plugin. |
Dit is de capability die u toewijst aan een gebruiker die de plugin zelf moet beheren. Standaard wordt deze alleen toegevoegd aan de administrator-rol.
Voertuig-posttype capabilities (as24ci_car)
De plugin registreert de volgende aangepaste CPT-capabilities. Met map_meta_cap = true herleidt WordPress automatisch de enkelvoudige ("meta") capabilities naar het eigendom per post.
| Capability | Type | Doel |
|---|---|---|
read_as24ci_car | Meta | Een enkel voertuig lezen. |
edit_as24ci_car | Meta | Een enkel voertuig bewerken. |
delete_as24ci_car | Meta | Een enkel voertuig verwijderen. |
read_private_as24ci_cars | Primitief | Voertuigen met de status privé lezen. |
edit_as24ci_cars | Primitief | Toegang tot de voertuig-editor in het algemeen. |
edit_others_as24ci_cars | Primitief | Voertuigen bewerken die eigendom zijn van andere gebruikers. |
edit_published_as24ci_cars | Primitief | Gepubliceerde voertuigen bewerken. |
publish_as24ci_cars | Primitief | Voertuig-posts publiceren. |
delete_as24ci_cars | Primitief | Voertuigen in het algemeen verwijderen. |
delete_others_as24ci_cars | Primitief | Voertuigen verwijderen die eigendom zijn van andere gebruikers. |
delete_published_as24ci_cars | Primitief | Gepubliceerde voertuigen verwijderen. |
Deze capabilities volgen het standaard WordPress CPT-patroon. Ze beheren de toegang tot de voertuig-overzichtstabel en de editor-schermen in het WordPress-beheergedeelte en via elk codepad dat standaard WordPress capability-controles respecteert.
Lead-posttype (as24ci_lead)
Het lead-posttype is geregistreerd als niet-openbaar. Het wordt bewust niet weergegeven in de standaard WordPress posts-UI en wordt uitsluitend beheerd via het tabblad Leads in het beheergedeelte van de plugin. Toegang tot dat tabblad wordt geregeld door de manage_as24_imports-capability.
Zie Lead Data and Consent voor meer informatie over leadgegevens en -beheer.
Rollen die door de plugin worden aangemaakt
administrator (bestaand)
Bij plugin-activering / capability-upgrade:
- Ontvangt alle hierboven vermelde
as24ci_car-capabilities. - Ontvangt daarnaast
manage_as24_imports.
Dit betekent dat een standaard beheerder de plugin en de inhoud ervan direct kan beheren.
as24ci_editor (nieuwe rol)
Bij plugin-activering / capability-upgrade maakt de plugin de rol as24ci_editor aan (of controleert of deze bestaat) met:
- De basiscapability
read. - Alle hierboven vermelde
as24ci_car-capabilities.
De rol krijgt bewust geen manage_as24_imports. Gebruikers met deze rol kunnen voertuig-posts beheren (bekijken, bewerken, publiceren, verwijderen), maar kunnen niet:
- De instellingen, importer, tools, logs, analytics, leads, zoekopdrachten of andere beheertabbladen van de plugin openen.
- De admin AJAX- of admin POST-handlers van de plugin gebruiken.
- De dashboardwidget van de plugin zien.
Deze rol is bedoeld voor medewerkers (bijvoorbeeld een contentmanager) die individuele voertuiggegevens moeten bijhouden zonder toegang te hebben tot de plugin-configuratie of aanvraaggegevens.
Andere WordPress-rollen
De plugin verleent geen van zijn aangepaste capabilities aan de rollen WordPress editor, author, contributor of subscriber. Om deze rollen toegang te geven, moet een beheerder expliciet de relevante capabilities toevoegen (met behulp van een plugin voor rolbeheer of aangepaste code).
Openbaar REST-oppervlak
Er worden twee alleen-lezen REST-routes geregistreerd wanneer de optie Enable REST API is ingeschakeld:
GET /wp-json/as24ci/v1/vehiclesGET /wp-json/as24ci/v1/vehicles/{id}
Beide routes gebruiken een permission_callback van __return_true. Ze zijn uitsluitend bedoeld om openbare voertuiggegevens te tonen en vereisen geen capability. Schakel de optie uit in de plugin-instellingen als u dit oppervlak niet wilt blootstellen.
Het cron-import-endpoint (/wp-json/as24ci/v1/cron-import) gebruikt ook __return_true voor de WordPress-toestemmingscontrole, maar voert zijn eigen verificatie op basis van tokens uit binnen de callback. Zie Security Recommendations.
De frontend AJAX-endpoints van de plugin die worden gebruikt door het contactformulier, favorieten en de zoekopdracht-werkstroom vertrouwen op nonces en functiespecifieke controles (bijvoorbeeld double opt-in tokens) in plaats van capability-controles, omdat ze bedoeld zijn om door sitebezoekers te worden aangeroepen.
Hoe toegang te verlenen
De aanbevolen aanpak is om een van de volgende rollen toe te wijzen:
- Plugin-beheerder — wijs de WordPress
administrator-rol toe. - Voertuig-contentredacteur — wijs de rol
as24ci_editortoe. - Aangepaste rol — voeg met behulp van een plugin voor rolbeheer of een aangepast codefragment de capabilities toe die u nodig hebt uit de bovenstaande tabellen. Om volledige toegang tot het plugin-beheer te verlenen zonder de gebruiker een sitebeheerder te maken, voegt u
manage_as24_importsplus alleas24ci_car-capabilities toe aan de aangepaste rol.
Bij het gebruik van een plugin voor rolbeheer verschijnen de capabilities van de plugin onder het posttype as24ci_car en als een zelfstandige capability (manage_as24_imports).
Stappenplan: een collega alleen toegang geven tot het beheren van voertuigen
- Open Gebruikers in het WordPress-beheergedeelte.
- Bewerk het gebruikersaccount van de collega.
- Kies in de rolkiezer AS24 Editor (de rol
as24ci_editordie door de plugin is aangemaakt). - Sla de gebruiker op.
- Controleer of de collega de standaard voertuiglijst onder het AS24 Cars-beheermenu kan openen en individuele voertuigen kan bewerken, maar de ADP Car Market Hub-pluginbeheerpagina's niet kan openen.
Stappenplan: een collega volledige toegang tot de plugin geven
- Bevestig dat u de collega vertrouwt met de instellingen van de plugin, API-inloggegevens en leadgegevens.
- Wijs de rol WordPress
administratortoe, of voeg de capabilitymanage_as24_importsen alleas24ci_car-capabilities toe aan een aangepaste rol met behulp van uw tools voor rolbeheer. - Log in als die gebruiker en controleer of de beheerpagina's van de plugin zichtbaar zijn en of beheeracties zonder toestemmingsfouten worden voltooid.
Operationele opmerkingen
- Capabilities worden toegepast tijdens de activering van de plugin en bij elk verzoek via een "maybe upgrade caps"-routine. Als een aangepaste rol extern wordt verwijderd en opnieuw wordt aangemaakt, log dan in als beheerder en laad het WordPress-beheergedeelte opnieuw om de routine de kans te geven de capabilities opnieuw toe te passen.
- De rol
as24ci_editorwordt aangemaakt als deze nog niet bestaat en wordt aangevuld met de CPT-capabilities. Beheerders kunnen de rol uitbreiden met aanvullende WordPress-capabilities (bijvoorbeeld toegang tot media) met behulp van een plugin voor rolbeheer. - De plugin verwijdert momenteel de aangepaste rol of capabilities niet bij deactivering. Controleer dit gedrag in de huidige plugin-versie voordat u procesdocumentatie publiceert die hiervan afhankelijk is.
- Alle admin POST-handlers en admin AJAX-endpoints controleren de capability
manage_as24_importsen een request-nonce als extra beveiligingslaag, zelfs wanneer ze worden aangeroepen vanaf een scherm dat de capability al vereiste.
Problemen oplossen
- "Sorry, je hebt geen toestemming om deze pagina te openen" in het beheergedeelte van de plugin — de gebruiker beschikt niet over
manage_as24_imports. Wijs deze expliciet toe of wijs de roladministratortoe. - Het menu AS24 Cars ontbreekt voor een redacteursaccount — controleer of de gebruiker ten minste beschikt over
edit_as24ci_cars. Leden vanas24ci_editorenadministratormoeten dit altijd hebben. - Nieuw aangemaakte aangepaste rol kan geen voertuigen bewerken — controleer of de rol beschikt over
edit_as24ci_carsenedit_published_as24ci_carsen of de meta-caps zijn toegewezen (map_meta_cap = trueis de standaard voor het posttype). - Het tabblad Leads ontbreekt — het tabblad Leads wordt alleen getoond aan gebruikers die beschikken over
manage_as24_imports. De rolas24ci_editorheeft dit bewust niet. - Voertuig-endpoints zijn niet bereikbaar via REST — controleer of de optie Enable REST API is ingeschakeld; de routes worden niet geregistreerd als deze is uitgeschakeld.