Documentazione · Risoluzione dei problemi

Errori di autorizzazione

Questo documento copre gli errori di accesso e di funzionalità (capability) che possono impedire agli amministratori o ad altri utenti di accedere alle funzionalità del plugin ADP Car Market Hub, importare veicoli o gestire gli annunci.

Quando usare questo documento

Leggere questo documento quando:

  • Un utente riceve un messaggio "Accesso negato" o "Non hai i permessi per eseguire questa azione" quando utilizza l'amministrazione del plugin.
  • Un utente non riesce a vedere il menu di amministrazione del plugin o schede di amministrazione specifiche.
  • Un utente non può modificare, pubblicare o eliminare gli articoli dei veicoli (as24ci_car).
  • Errori relativi alle funzionalità (capability) appaiono nel registro del plugin dopo un aggiornamento o un cambio di ruolo.

Panoramica

Il plugin utilizza due livelli di accesso distinti:

  1. Funzionalità di gestione del plugin (manage_as24_imports) — controlla l'accesso all'interfaccia amministrativa del plugin (Impostazioni, Importatore, Strumenti, Log, Market Hub, PDF Manager, ecc.) e a tutte le azioni AJAX amministrative. Questa funzionalità è concessa esclusivamente al ruolo integrato administrator.

  2. Funzionalità Custom Post Type (CPT) — un insieme di funzionalità di articolo WordPress per il tipo di articolo as24ci_car che controllano chi può leggere, creare, modificare, pubblicare ed eliminare gli articoli dei veicoli. Queste funzionalità sono concesse sia al ruolo administrator sia al ruolo personalizzato AS24 Editor creato dal plugin.

Gli Editori, gli Autori e gli Iscritti non hanno accesso a nessuno dei due livelli per impostazione predefinita. Anche il ruolo integrato WordPress editor non riceve queste funzionalità.

Riferimento a ruoli e funzionalità

Funzionalità di gestione del plugin

FunzionalitàConcessa aControlla
manage_as24_importsAmministratoreTutte le pagine di amministrazione del plugin, impostazioni, trigger di importazione, accesso ai log, azioni AJAX, esportazione diagnostica

Ogni gestore AJAX di amministrazione e gestore POST di amministrazione nel plugin controlla current_user_can('manage_as24_imports') prima dell'esecuzione. Qualsiasi utente privo di questa funzionalità riceve una risposta 403 Permission denied.

Funzionalità CPT

Le seguenti funzionalità sono assegnate sia al ruolo administrator sia a quello as24ci_editor:

| Funzionalità | Descrizione | |---|---|| | read_as24ci_car | Leggere un singolo articolo di veicolo | | edit_as24ci_car | Modificare un singolo articolo di veicolo | | delete_as24ci_car | Eliminare un singolo articolo di veicolo | | read_private_as24ci_cars | Leggere articoli di veicoli privati | | edit_as24ci_cars | Modificare gli articoli dei veicoli (accesso alla tabella dell'elenco) | | edit_others_as24ci_cars | Modificare gli articoli dei veicoli di altri utenti | | edit_published_as24ci_cars | Modificare gli articoli dei veicoli pubblicati | | publish_as24ci_cars | Pubblicare articoli di veicoli | | delete_as24ci_cars | Eliminare articoli di veicoli | | delete_others_as24ci_cars | Eliminare gli articoli dei veicoli di altri utenti | | delete_published_as24ci_cars | Eliminare gli articoli dei veicoli pubblicati |

Ruolo personalizzato: AS24 Editor (as24ci_editor)

Il plugin crea un ruolo personalizzato WordPress denominato AS24 Editor (slug: as24ci_editor) durante l'attivazione. Questo ruolo concede tutte le funzionalità CPT sopra elencate ma non concede manage_as24_imports. Gli AS24 Editor possono gestire gli articoli dei veicoli dalla tabella standard dell'elenco degli articoli, ma non possono accedere alle pagine di amministrazione del plugin, all'importazione o alla modifica delle impostazioni.

Passaggi diagnostici

Passaggio 1: Confermare che le funzionalità siano state assegnate

Le funzionalità vengono assegnate durante l'attivazione del plugin e aggiornate tramite un sistema di migrazione interno. Se un utente non riesce ad accedere all'amministrazione del plugin, verificare quanto segue:

  1. Accedere come Amministratore WordPress.
  2. Andare nell'amministrazione del plugin e aprire la scheda System & Help.
  3. Controllare l'output dello stato del sistema per eventuali avvisi relativi alle funzionalità.

Se le funzionalità non sono state assegnate (ad esempio, su un'installazione multisito in cui il plugin è stato attivato a livello di rete ma non è mai stato eseguito nel contesto di amministrazione), procedere al Passaggio 2.

Passaggio 2: Forzare nuovamente la migrazione delle funzionalità

L'assegnazione delle funzionalità viene eseguita automaticamente a ogni caricamento della pagina di amministrazione tramite plugins_loaded, ma solo una volta per versione della funzionalità e solo per gli utenti che dispongono di manage_options. Per forzarne la ripetizione:

  1. Accedere come Amministratore WordPress.
  2. Disattivare il plugin da Plugin.
  3. Riattivare il plugin. L'hook di attivazione chiama direttamente ensure_roles_and_caps().
  4. Verificare se l'utente interessato dispone ora dell'accesso corretto.

Passaggio 3: Verificare il ruolo dell'utente

  1. Andare su Utenti nell'amministrazione di WordPress.
  2. Aprire il profilo dell'utente interessato.
  3. Confermare che il ruolo dell'utente sia impostato su Amministratore (per l'accesso completo alla gestione del plugin) o AS24 Editor (solo per la gestione dei CPT).
  4. Se l'utente ha un ruolo personalizzato proveniente da un plugin di terze parti, tale ruolo potrebbe non includere le funzionalità richieste. In tal caso, uno sviluppatore deve aggiungere le funzionalità manualmente o utilizzare un plugin per la gestione delle funzionalità.

Passaggio 4: Verificare la presenza di conflitti con plugin per la gestione delle funzionalità

Se è attivo un plugin per la gestione delle funzionalità (come Members, User Role Editor o PublishPress Capabilities):

  1. Aprire l'interfaccia del plugin di gestione delle funzionalità.
  2. Verificare che la funzionalità manage_as24_imports sia assegnata al ruolo administrator.
  3. Verificare che le funzionalità CPT sopra elencate siano assegnate sia a administrator sia a as24ci_editor.
  4. Salvare le modifiche e riprovare.

Passaggio 5: Considerazioni sul multisito

Su un'installazione multisito di WordPress:

  • Le funzionalità del plugin sono memorizzate nell'opzione wp_user_roles della tabella di database di ciascun sotto-sito.
  • Se il plugin è attivato per la rete, la migrazione delle funzionalità viene eseguita nel contesto del sito corrente solo quando un amministratore visita l'amministrazione.
  • Un super amministratore ha accesso implicito a tutti i siti, ma gli amministratori regolari dei singoli siti devono disporre della funzionalità manage_as24_imports sul loro sito specifico.

Verificare questo comportamento nella versione corrente del plugin prima di pubblicare per distribuzioni multisito.

Note operative

  • Le assegnazioni delle funzionalità sono memorizzate nell'opzione dei ruoli di WordPress (wp_user_roles). Il ripristino o la sostituzione di questa opzione (ad esempio tramite una migrazione del sito o un plugin di sicurezza che rigenera i ruoli) rimuoverà le funzionalità personalizzate del plugin. La riattivazione del plugin le ripristinerà.
  • Il ruolo as24ci_editor viene creato una volta all'attivazione. Se viene eliminato (ad esempio tramite un plugin di gestione dei ruoli o un ripristino del database), la riattivazione del plugin lo ricreerà.
  • Tutti gli endpoint AJAX di amministrazione del plugin richiedono sia la funzionalità corretta sia un nonce WordPress valido. Una risposta "Accesso negato" a una richiesta AJAX può indicare una funzionalità mancante o un nonce scaduto (ad esempio, dopo una sessione prolungata o una pagina memorizzata nella cache senza rigenerazione del nonce).
  • La funzione maybe_upgrade_caps() viene eseguita sull'hook plugins_loaded nel contesto di amministrazione. Controlla un numero di versione memorizzato e viene eseguita solo quando una migrazione delle funzionalità non è stata ancora applicata. Dopo l'esecuzione, aggiorna la versione memorizzata in modo da non essere eseguita nuovamente fino al rilascio della versione di migrazione successiva.

Risoluzione dei problemi

SintomoCausa probabileVerifica
"Accesso negato" su qualsiasi azione AJAX del pluginL'utente non ha manage_as24_importsConfermare che l'utente sia Amministratore; riattivare il plugin se necessario
Menu del plugin non visibileL'utente non ha manage_as24_importsAssegnare il ruolo Amministratore o riattivare il plugin
L'AS24 Editor non vede la tabella dell'elenco dei veicoliFunzionalità CPT mancanti dal ruolo as24ci_editorRiattivare il plugin; controllare il ruolo nel plugin di gestione delle funzionalità
L'AS24 Editor vede i veicoli ma non l'amministrazione del pluginComportamento previsto — gli AS24 Editor non ottengono manage_as24_importsNessuna azione richiesta; questo comportamento è intenzionale
"Non hai i permessi" al salvataggio del PDF ManagerL'utente non ha manage_as24_importsConfermare che il ruolo sia Amministratore
Gli articoli dei veicoli non appaiono nell'elenco degli articoli di WPFunzionalità CPT mancanti dal ruolo dell'utenteRiattivare il plugin o aggiungere le funzionalità manualmente
Funzionalità perse dopo la migrazione o la clonazione del sitoLe opzioni dei ruoli sono state ripristinateDisattivare e riattivare il plugin

Documenti correlati