Documentation · Confidentialité, sécurité et conformité
Contrôle d'accès et capacités
Ce document décrit comment l'extension ADP Car Market Hub utilise les rôles et capacités WordPress pour contrôler l'accès à ses fonctionnalités d'administration et aux types de publication personnalisés qu'elle enregistre. Il sert de référence pour les administrateurs de site et les directeurs de concession qui doivent accorder le bon niveau d'accès aux utilisateurs internes.
Quand utiliser ce document
Utilisez ce document lorsque vous devez :
- Décider quel rôle ou capacité WordPress accorder à un collègue qui gère les annonces de véhicules ou les réglages de l'extension.
- Auditer qui a accès aux pages d'administration de l'extension et aux données de leads.
- Intégrer l'extension avec une extension de gestion des rôles ou un extrait de code personnalisé qui mappe les capacités.
- Résoudre les erreurs de type « vous n'avez pas l'autorisation » dans l'administration de l'extension.
Aperçu
L'extension superpose deux ensembles de capacités au système de rôles standard de WordPress :
- Une unique capacité de gestion de l'extension (
manage_as24_imports) qui filtre chaque page d'administration de l'extension, chaque gestionnaire POST d'administration, chaque action AJAX d'administration de l'extension et le widget de tableau de bord par utilisateur. - Un ensemble de capacités de type de publication personnalisé pour le type de publication de véhicule
as24ci_car, mappé viacapability_type = ['as24ci_car', 'as24ci_cars']avecmap_meta_cap = true.
L'extension crée également un rôle personnalisé (as24ci_editor) qui détient les capacités du CPT de véhicule mais pas la capacité de gestion. Le rôle administrator reçoit les deux ensembles lors de l'activation de l'extension / de la mise à niveau des capacités.
L'extension ne modifie pas le rôle standard WordPress editor.
Référence des capacités
Capacité de gestion de l'extension
| Capacité | Objectif |
|---|---|
manage_as24_imports | Requise pour : les pages et onglets d'administration de l'extension (Settings, Importer, Tools, Logs, Leads, Analytics, Search Alerts, Health, Locations, PDF Manager, AI Assistant, Market Hub, Mapping, Design, Features, Automation, Support, EnvKV), le widget de tableau de bord, l'exportation de diagnostic, les gestionnaires d'actions groupées et les points de terminaison AJAX d'administration de l'extension. |
C'est la capacité que vous accordez à un utilisateur qui doit administrer l'extension elle-même. Par défaut, elle n'est ajoutée qu'au rôle administrator.
Capacités du type de publication de véhicule (as24ci_car)
L'extension enregistre les capacités CPT personnalisées suivantes. Avec map_meta_cap = true, WordPress résout automatiquement les capacités singulières (« meta ») par rapport à la propriété de chaque publication.
| Capacité | Type | Objectif |
|---|---|---|
read_as24ci_car | Meta | Lire un seul véhicule. |
edit_as24ci_car | Meta | Modifier un seul véhicule. |
delete_as24ci_car | Meta | Supprimer un seul véhicule. |
read_private_as24ci_cars | Primitive | Lire les véhicules en statut privé. |
edit_as24ci_cars | Primitive | Accéder à l'éditeur de véhicules en général. |
edit_others_as24ci_cars | Primitive | Modifier les véhicules appartenant à d'autres utilisateurs. |
edit_published_as24ci_cars | Primitive | Modifier les véhicules publiés. |
publish_as24ci_cars | Primitive | Publier des publications de véhicules. |
delete_as24ci_cars | Primitive | Supprimer des véhicules en général. |
delete_others_as24ci_cars | Primitive | Supprimer des véhicules appartenant à d'autres utilisateurs. |
delete_published_as24ci_cars | Primitive | Supprimer des véhicules publiés. |
Ces capacités suivent le modèle CPT standard de WordPress. Elles contrôlent l'accès au tableau de la liste des véhicules et aux écrans d'édition dans l'administration WordPress et via tout chemin de code qui respecte les vérifications de capacités standard de WordPress.
Type de publication de lead (as24ci_lead)
Le type de publication de lead est enregistré comme non public. Il n'est volontairement pas exposé dans l'interface utilisateur standard des publications de WordPress et est géré exclusivement depuis l'onglet d'administration Leads de l'extension. L'accès à cet onglet est filtré par la capacité manage_as24_imports.
Pour plus de détails sur les données de leads et leur gestion, voir Données de leads et consentement.
Rôles créés par l'extension
administrator (existant)
Lors de l'activation de l'extension / de la mise à niveau des capacités :
- Reçoit toutes les capacités
as24ci_carrépertoriées ci-dessus. - Reçoit également
manage_as24_imports.
Cela signifie qu'un administrateur standard peut gérer l'extension et son contenu dès le départ.
as24ci_editor (nouveau rôle)
Lors de l'activation de l'extension / de la mise à niveau des capacités, l'extension crée (ou s'assure de la présence de) le rôle as24ci_editor avec :
- La capacité de base
read. - Toutes les capacités
as24ci_carrépertoriées ci-dessus.
La capacité manage_as24_imports n'est volontairement pas accordée à ce rôle. Les utilisateurs ayant ce rôle peuvent gérer les publications de véhicules (lister, modifier, publier, supprimer) mais ne peuvent pas :
- Ouvrir les réglages, l'importateur, les outils, les journaux, les analyses, les leads, les alertes de recherche ou d'autres onglets d'administration de l'extension.
- Utiliser les gestionnaires AJAX d'administration ou POST d'administration de l'extension.
- Voir le widget de tableau de bord de l'extension.
Ce rôle est destiné au personnel (par exemple, un gestionnaire de contenu) qui doit maintenir les fiches de véhicules individuelles sans avoir accès à la configuration de l'extension ni aux données de demande d'information.
Autres rôles WordPress
L'extension n'accorde aucune de ses capacités personnalisées aux rôles WordPress editor, author, contributor ou subscriber. Pour donner accès à ces rôles, un administrateur doit explicitement ajouter les capacités concernées (en utilisant une extension de gestion des rôles ou du code personnalisé).
Surface REST publique
Deux routes REST en lecture seule sont enregistrées lorsque l'option Enable REST API est activée :
GET /wp-json/as24ci/v1/vehiclesGET /wp-json/as24ci/v1/vehicles/{id}
Les deux routes utilisent un permission_callback de __return_true. Elles sont destinées à exposer uniquement des données de véhicules publiques et ne requièrent aucune capacité. Désactivez l'option dans les réglages de l'extension si vous ne souhaitez pas exposer cette surface.
Le point de terminaison d'importation cron (/wp-json/as24ci/v1/cron-import) utilise également __return_true pour la vérification des autorisations WordPress mais effectue sa propre authentification basée sur un jeton à l'intérieur du rappel. Voir Recommandations de sécurité.
Les points de terminaison AJAX du frontend de l'extension utilisés par le formulaire de contact, les favoris et le flux de travail d'alerte de recherche reposent sur des nonces et des vérifications spécifiques aux fonctionnalités (par exemple, des jetons de double opt-in) au lieu de vérifications de capacités, car ils sont destinés à être appelés par les visiteurs du site.
Comment accorder l'accès
L'approche recommandée consiste à attribuer l'un des éléments suivants :
- Administrateur de l'extension — attribuez le rôle WordPress
administrator. - Éditeur de contenu de véhicules — attribuez le rôle
as24ci_editor. - Rôle personnalisé — à l'aide d'une extension de gestion des rôles ou d'un extrait de code personnalisé, ajoutez les capacités dont vous avez besoin à partir des tableaux ci-dessus. Pour accorder un accès complet à l'administration de l'extension sans faire de l'utilisateur un administrateur du site, ajoutez
manage_as24_importsainsi que toutes les capacitésas24ci_carau rôle personnalisé.
Lors de l'utilisation d'une extension de gestion des rôles, les capacités de l'extension apparaissent sous le type de publication as24ci_car et en tant que capacité autonome (manage_as24_imports).
Étape par étape : donner à un collègue l'accès pour gérer uniquement les véhicules
- Ouvrez Utilisateurs dans l'administration de WordPress.
- Modifiez le compte utilisateur du collègue.
- Dans le sélecteur de rôle, choisissez AS24 Editor (le rôle
as24ci_editorcréé par l'extension). - Enregistrez l'utilisateur.
- Vérifiez que le collègue peut ouvrir la liste standard des véhicules sous le menu d'administration AS24 Cars et modifier des véhicules individuels, mais ne peut pas ouvrir les pages d'administration de l'extension ADP Car Market Hub.
Étape par étape : donner à un collègue un accès complet à l'extension
- Confirmez que vous faites confiance au collègue concernant les réglages de l'extension, les identifiants API et les données de leads.
- Attribuez le rôle WordPress
administrator, ou ajoutez la capacitémanage_as24_importset toutes les capacitésas24ci_carà un rôle personnalisé à l'aide de vos outils de gestion des rôles. - Connectez-vous en tant que cet utilisateur et vérifiez que les pages d'administration de l'extension sont visibles et que les actions d'administration s'effectuent sans erreur d'autorisation.
Notes opérationnelles
- Les capacités sont appliquées lors de l'activation de l'extension et à chaque requête via une routine « maybe upgrade caps ». Si un rôle personnalisé est supprimé et recréé en externe, connectez-vous en tant qu'administrateur et rechargez l'administration de WordPress pour donner à la routine une chance de réappliquer les capacités.
- Le rôle
as24ci_editorest créé s'il n'existe pas et est complété avec les capacités CPT. Les administrateurs peuvent étendre le rôle avec des capacités WordPress supplémentaires (par exemple, l'accès aux médias) à l'aide d'une extension de gestion des rôles. - L'extension ne supprime pas actuellement le rôle personnalisé ou les capacités lors de la désactivation. Vérifiez ce comportement dans la version actuelle de l'extension avant de publier une documentation de processus qui en dépend.
- Tous les gestionnaires POST d'administration et les points de terminaison AJAX d'administration vérifient la capacité
manage_as24_importset un nonce de requête comme défense en profondeur, même lorsqu'ils sont appelés depuis un écran qui nécessitait déjà la capacité.
Dépannage
- « Désolé, vous n'êtes pas autorisé à accéder à cette page » dans l'administration de l'extension — l'utilisateur ne détient pas
manage_as24_imports. Accordez-la explicitement ou attribuez le rôleadministrator. - Le menu AS24 Cars est manquant pour un compte d'éditeur — confirmez que l'utilisateur détient au moins
edit_as24ci_cars. Les membres deas24ci_editoretadministratordevraient toujours l'avoir. - Le rôle personnalisé nouvellement créé ne peut pas modifier les véhicules — confirmez que le rôle détient
edit_as24ci_carsetedit_published_as24ci_carset que les capacités meta sont mappées (map_meta_cap = trueest la valeur par défaut pour le type de publication). - L'onglet d'administration des leads est manquant — l'onglet Leads n'est affiché qu'aux utilisateurs qui détiennent
manage_as24_imports. Le rôleas24ci_editorne l'a pas, par conception. - Les points de terminaison de véhicules ne sont pas accessibles via REST — confirmez que l'option Enable REST API est activée ; les routes ne sont pas enregistrées lorsqu'elle est désactivée.