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 :

  1. 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.
  2. Un ensemble de capacités de type de publication personnalisé pour le type de publication de véhicule as24ci_car, mappé via capability_type = ['as24ci_car', 'as24ci_cars'] avec map_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_importsRequise 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éTypeObjectif
read_as24ci_carMetaLire un seul véhicule.
edit_as24ci_carMetaModifier un seul véhicule.
delete_as24ci_carMetaSupprimer un seul véhicule.
read_private_as24ci_carsPrimitiveLire les véhicules en statut privé.
edit_as24ci_carsPrimitiveAccéder à l'éditeur de véhicules en général.
edit_others_as24ci_carsPrimitiveModifier les véhicules appartenant à d'autres utilisateurs.
edit_published_as24ci_carsPrimitiveModifier les véhicules publiés.
publish_as24ci_carsPrimitivePublier des publications de véhicules.
delete_as24ci_carsPrimitiveSupprimer des véhicules en général.
delete_others_as24ci_carsPrimitiveSupprimer des véhicules appartenant à d'autres utilisateurs.
delete_published_as24ci_carsPrimitiveSupprimer 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_car ré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_car ré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/vehicles
  • GET /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_imports ainsi que toutes les capacités as24ci_car au 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

  1. Ouvrez Utilisateurs dans l'administration de WordPress.
  2. Modifiez le compte utilisateur du collègue.
  3. Dans le sélecteur de rôle, choisissez AS24 Editor (le rôle as24ci_editor créé par l'extension).
  4. Enregistrez l'utilisateur.
  5. 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

  1. Confirmez que vous faites confiance au collègue concernant les réglages de l'extension, les identifiants API et les données de leads.
  2. Attribuez le rôle WordPress administrator, ou ajoutez la capacité manage_as24_imports et toutes les capacités as24ci_car à un rôle personnalisé à l'aide de vos outils de gestion des rôles.
  3. 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_editor est 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_imports et 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ôle administrator.
  • Le menu AS24 Cars est manquant pour un compte d'éditeur — confirmez que l'utilisateur détient au moins edit_as24ci_cars. Les membres de as24ci_editor et administrator devraient 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_cars et edit_published_as24ci_cars et que les capacités meta sont mappées (map_meta_cap = true est 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ôle as24ci_editor ne 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.

Documents connexes