Documentazione · Privacy, sicurezza e conformità

Controllo degli accessi e permessi

Questo documento descrive come il plugin ADP Car Market Hub utilizza i ruoli e i permessi di WordPress per controllare l'accesso alle sue funzionalità di amministrazione e ai custom post type che registra. È un riferimento per gli amministratori del sito e i gestori delle concessionarie che devono concedere il corretto livello di accesso agli utenti interni.

Quando utilizzare questo documento

Utilizza questo documento quando hai bisogno di:

  • Decidere quale ruolo o permesso di WordPress concedere a un collega che gestisce gli annunci dei veicoli o le impostazioni del plugin.
  • Verificare chi ha accesso alle pagine di amministrazione del plugin e ai dati dei lead.
  • Integrare il plugin con un plugin di gestione dei ruoli o uno snippet di codice personalizzato che mappa i permessi.
  • Risolvere gli errori del tipo "non hai i permessi necessari" nell'amministrazione del plugin.

Panoramica

Il plugin sovrappone due set di permessi al sistema di ruoli standard di WordPress:

  1. Un singolo permesso di gestione del plugin (manage_as24_imports) che controlla l'accesso a ogni pagina di amministrazione del plugin, a ogni gestore POST di amministrazione, a ogni azione AJAX di amministrazione del plugin e al widget della bacheca per utente.
  2. Un set di permessi per i custom post type per il post type dei veicoli as24ci_car, mappati tramite capability_type = ['as24ci_car', 'as24ci_cars'] con map_meta_cap = true.

Il plugin crea anche un ruolo personalizzato (as24ci_editor) che possiede i permessi CPT dei veicoli ma non il permesso di gestione. Il ruolo administrator riceve entrambi i set all'attivazione del plugin o all'aggiornamento dei permessi.

Il plugin non modifica il ruolo standard editor di WordPress.

Riferimento dei permessi

Permesso di gestione del plugin

PermessoScopo
manage_as24_importsRichiesto per: pagine e schede di amministrazione del plugin (Settings, Importer, Tools, Logs, Leads, Analytics, Search Alerts, Health, Locations, PDF Manager, AI Assistant, Market Hub, Mapping, Design, Features, Automation, Support, EnvKV), il widget della bacheca, l'esportazione della diagnostica, i gestori delle azioni di massa e gli endpoint AJAX di amministrazione del plugin.

Questo è il permesso da concedere a un utente che deve amministrare il plugin stesso. Per impostazione predefinita, viene aggiunto solo al ruolo administrator.

Permessi del post type dei veicoli (as24ci_car)

Il plugin registra i seguenti permessi CPT personalizzati. Con map_meta_cap = true, WordPress risolve automaticamente i permessi singolari ("meta") rispetto alla proprietà del singolo post.

PermessoTipoScopo
read_as24ci_carMetaLeggere un singolo veicolo.
edit_as24ci_carMetaModificare un singolo veicolo.
delete_as24ci_carMetaEliminare un singolo veicolo.
read_private_as24ci_carsPrimitivoLeggere i veicoli in stato privato.
edit_as24ci_carsPrimitivoAccedere all'editor dei veicoli in generale.
edit_others_as24ci_carsPrimitivoModificare i veicoli di proprietà di altri utenti.
edit_published_as24ci_carsPrimitivoModificare i veicoli pubblicati.
publish_as24ci_carsPrimitivoPubblicare i post dei veicoli.
delete_as24ci_carsPrimitivoEliminare i veicoli in generale.
delete_others_as24ci_carsPrimitivoEliminare i veicoli di proprietà di altri utenti.
delete_published_as24ci_carsPrimitivoEliminare i veicoli pubblicati.

Questi permessi seguono il pattern CPT standard di WordPress. Controllano l'accesso alla tabella dell'elenco dei veicoli e alle schermate dell'editor nell'amministrazione di WordPress e attraverso qualsiasi percorso di codice che rispetti i controlli standard dei permessi di WordPress.

Post type dei lead (as24ci_lead)

Il post type dei lead è registrato come non pubblico. Intenzionalmente non viene mostrato nell'interfaccia utente standard dei post di WordPress ed è gestito esclusivamente dalla scheda di amministrazione Leads del plugin. L'accesso a tale scheda è controllato dal permesso manage_as24_imports.

Per i dettagli sui dati dei lead e sulla loro gestione, consulta Lead Data and Consent.

Ruoli creati dal plugin

administrator (esistente)

All'attivazione del plugin / aggiornamento dei permessi:

  • Riceve tutti i permessi as24ci_car sopra elencati.
  • Riceve inoltre manage_as24_imports.

Ciò significa che un amministratore standard può gestire il plugin e i suoi contenuti fin da subito.

as24ci_editor (nuovo ruolo)

All'attivazione del plugin / aggiornamento dei permessi, il plugin crea (o assicura) il ruolo as24ci_editor con:

  • Il permesso di base read.
  • Tutti i permessi as24ci_car sopra elencati.

Al ruolo non viene intenzionalmente concesso manage_as24_imports. Gli utenti con questo ruolo possono gestire i post dei veicoli (elencare, modificare, pubblicare, eliminare) ma non possono:

  • Aprire le impostazioni del plugin, l'importatore, gli strumenti, i log, gli analytics, i lead, gli avvisi di ricerca o altre schede di amministrazione.
  • Utilizzare i gestori AJAX di amministrazione o POST di amministrazione del plugin.
  • Visualizzare il widget della bacheca del plugin.

Questo ruolo è destinato al personale (ad esempio un content manager) che deve gestire le singole schede dei veicoli senza avere accesso alla configurazione del plugin o ai dati delle richieste.

Altri ruoli di WordPress

Il plugin non concede alcuno dei suoi permessi personalizzati ai ruoli WordPress editor, author, contributor o subscriber. Per consentire l'accesso a questi ruoli, un amministratore deve aggiungere esplicitamente i permessi pertinenti (utilizzando un plugin di gestione dei ruoli o codice personalizzato).

Superficie REST pubblica

Due rotte REST di sola lettura vengono registrate quando l'opzione Enable REST API è attiva:

  • GET /wp-json/as24ci/v1/vehicles
  • GET /wp-json/as24ci/v1/vehicles/{id}

Entrambe le rotte utilizzano un permission_callback di __return_true. Sono destinate a esporre solo dati di veicoli pubblici e non richiedono alcun permesso. Disattiva l'opzione nelle impostazioni del plugin se non desideri esporre questa superficie.

L'endpoint di importazione cron (/wp-json/as24ci/v1/cron-import) utilizza anch'esso __return_true per il controllo dei permessi di WordPress, ma esegue la propria autenticazione basata su token all'interno della callback. Vedi Security Recommendations.

Gli endpoint AJAX del frontend del plugin utilizzati dal modulo di contatto, dai preferiti e dal flusso di lavoro degli avvisi di ricerca si affidano a nonce e controlli specifici della funzionalità (ad esempio token di double opt-in) invece dei controlli dei permessi, poiché sono destinati a essere chiamati dai visitatori del sito.

Come concedere l'accesso

L'approccio consigliato consiste nell'assegnare uno dei seguenti:

  • Amministratore del plugin — assegna il ruolo WordPress administrator.
  • Editor dei contenuti dei veicoli — assegna il ruolo as24ci_editor.
  • Ruolo personalizzato — utilizzando un plugin di gestione dei ruoli o uno snippet personalizzato, aggiungi i permessi necessari dalle tabelle sopra riportate. Per concedere l'accesso completo all'amministrazione del plugin senza rendere l'utente un amministratore del sito, aggiungi manage_as24_imports più tutti i permessi as24ci_car al ruolo personalizzato.

Quando si utilizza un plugin di gestione dei ruoli, i permessi del plugin appaiono sotto il post type as24ci_car e come permesso autonomo (manage_as24_imports).

Passo dopo passo: dare a un collega l'accesso solo per gestire i veicoli

  1. Apri Utenti nell'amministrazione di WordPress.
  2. Modifica l'account utente del collega.
  3. Nel selettore dei ruoli, scegli AS24 Editor (il ruolo as24ci_editor creato dal plugin).
  4. Salva l'utente.
  5. Verifica che il collega possa aprire l'elenco standard dei veicoli sotto il menu di amministrazione AS24 Cars e modificare i singoli veicoli, ma non possa aprire le pagine di amministrazione del plugin ADP Car Market Hub.

Passo dopo passo: dare a un collega l'accesso completo al plugin

  1. Conferma che ti fidi del collega per quanto riguarda le impostazioni del plugin, le credenziali API e i dati dei lead.
  2. Assegna il ruolo WordPress administrator, oppure aggiungi il permesso manage_as24_imports e tutti i permessi as24ci_car a un ruolo personalizzato utilizzando i tuoi strumenti di gestione dei ruoli.
  3. Accedi come quell'utente e verifica che le pagine di amministrazione del plugin siano visibili e che le azioni di amministrazione vengano completate senza errori di autorizzazione.

Note operative

  • I permessi vengono applicati durante l'attivazione del plugin e su ogni richiesta tramite una routine "maybe upgrade caps". Se un ruolo personalizzato viene rimosso e ricreato esternamente, accedi come amministratore e ricarica l'amministrazione di WordPress per dare alla routine la possibilità di riapplicare i permessi.
  • Il ruolo as24ci_editor viene creato se non esiste e viene integrato con i permessi CPT. Gli amministratori possono estendere il ruolo con ulteriori permessi di WordPress (ad esempio l'accesso ai media) utilizzando un plugin di gestione dei ruoli.
  • Attualmente il plugin non rimuove il ruolo personalizzato o i permessi al momento della disattivazione. Verifica questo comportamento nella versione corrente del plugin prima di pubblicare la documentazione dei processi che dipende da esso.
  • Tutti i gestori POST di amministrazione e gli endpoint AJAX di amministrazione controllano il permesso manage_as24_imports e un nonce di richiesta come difesa approfondita, anche quando vengono chiamati da una schermata che richiedeva già tale permesso.

Risoluzione dei problemi

  • "Spiacente, non hai il permesso di accedere a questa pagina" nell'amministrazione del plugin — l'utente non possiede manage_as24_imports. Concedilo esplicitamente o assegna il ruolo administrator.
  • Il menu AS24 Cars è mancante per un account editor — conferma che l'utente possieda almeno edit_as24ci_cars. I membri di as24ci_editor e administrator dovrebbero sempre averlo.
  • Il ruolo personalizzato appena creato non può modificare i veicoli — conferma che il ruolo possieda edit_as24ci_cars e edit_published_as24ci_cars e che i meta permessi siano mappati (map_meta_cap = true è l'impostazione predefinita per il post type).
  • La scheda di amministrazione dei lead è mancante — la scheda Leads viene mostrata solo agli utenti che possiedono manage_as24_imports. Il ruolo as24ci_editor non la possiede per impostazione predefinita.
  • Gli endpoint dei veicoli non sono raggiungibili tramite REST — conferma che l'opzione Enable REST API sia attiva; le rotte non vengono registrate quando è disattivata.

Documenti correlati