Pannello di amministrazione¶
Il backend (backend/) è il pannello di amministrazione. Ha sessione e cookie
separati dal frontend (advanced-backend, _identity-backend,
_csrf-backend) e usa gli stessi fogli di stile tramite SharedUiAsset, con
in più le classi admin-* di backend/web/css/admin.css.
Chi entra¶
Ogni sezione estende backend/controllers/AdminController, che ammette solo
chi ha uno di ADMIN_ROLES: i ruoli admin e superAdmin o il permesso
admin.panel, che si può concedere anche con un ruolo globale personalizzato.
Le azioni che toccano le persone (ruoli, stato degli account, password) sono
riservate al super amministratore (isSuperAdmin()).
Incoerenza nota
backend/controllers/SiteController (login e pagina iniziale) accetta solo
admin e superAdmin. Chi ha soltanto admin.panel da un ruolo
personalizzato supera AdminController, ma al login viene disconnesso.
Anche nel pannello un team è visibile solo ai suoi membri: teamScope(),
boardScope() e taskScope() limitano le query ai team di
TeamVisibility::teamIds() ed escludono sempre gli spazi personali. Il ruolo
globale non basta a vedere un team altrui; serve essere fra i
teamOverseers. I tre metodi delegano a common/services/AdminScope, lo
stesso che usa l'API di amministrazione.
Il pannello anche dall'API¶
Quasi tutto il pannello ha un equivalente in /v1/admin/*
(api/controllers/v1/AdminController), con le stesse regole: stesso accesso
(ADMIN_ROLES), stesse operazioni riservate al super amministratore, stessi
team visibili. Da lì passano i tool di amministrazione del
connettore MCP. Per non duplicare la logica, ciò che stava nei
controller e nei modelli del backend è in common:
| Cosa | Dove |
|---|---|
| Team, bacheche e task visibili | common/services/AdminScope |
| Numeri della dashboard | common/services/AdminStats |
| Stato e ruolo globale degli account | common/services/UserAdministration |
| Ricerca utenti, creazione account, ricerca nel registro | common/models/UserSearch, UserCreateForm, AuditLogSearch |
Restano solo nel pannello token master, password temporanea, azzeramento della verifica in due passaggi, coda dei log e pagina di sistema. Per mettere nel cestino un team o una bacheca dall'API va ripetuto il nome, come nel modale del pannello.
Sezioni¶
| Voce | Controller | Cosa si fa | Chi |
|---|---|---|---|
| Dashboard | DashboardController |
conteggi aggregati (AdminStats) |
pannello |
| Utenti | UserController |
elenco e dettaglio; creazione da modale, stato, ruolo globale, password temporanea, azzeramento della verifica in due passaggi | modifiche solo super amministratore |
| Team | TeamController |
team, membri, creazione bacheche | creare ed eliminare team: super amministratore |
| Ruoli globali | RoleController |
ruoli custom:*, assegnazioni |
super amministratore |
| Bacheche | BoardController |
bacheche di tutti i team visibili, archivio | eliminare: super amministratore |
| Tag | TagController |
etichette globali e di bacheca; l'eliminazione è definitiva | pannello |
| Registro operazioni | AuditController |
consultazione ed esportazione CSV | super amministratore e overseer |
| Token master | MasterTokenController |
token API master: creazione, operazioni abilitate, revoca | account in masterTokenAdmins |
| Eliminati definitivamente | TrashController |
elementi svuotati dal cestino, in sola lettura | super amministratore |
| Sistema | SystemController |
ambiente, integrazioni, migrazioni, coda dei log, svuota cache | svuota cache: super amministratore |
Le voci della barra laterale (backend/views/layouts/_aside.php) seguono le
stesse condizioni, così nessuno vede una voce che poi gli risponde 403.
Regole sugli utenti¶
- Il super amministratore crea un account dal modale «Nuovo utente»
dell'elenco (
UserCreateForm): nome utente, email e ruolo globale. La creazione passa daUserRegistrationcome la registrazione pubblica, quindi l'account nasce attivo, con lo spazio personale, e gli amministratori sono avvisati. La password è temporanea, di 12 caratteri, e si vede una sola volta nella scheda dell'utente creato; nessuna email di benvenuto. - Gli utenti non si eliminano: si disattivano.
- Non si può cambiare il proprio stato né togliersi il ruolo di super
amministratore. Queste regole, e quelle sugli account protetti, stanno in
UserAdministration: valgono uguali dal pannello e dall'API. - Il cambio di ruolo revoca solo i ruoli predefiniti (
superAdmin,admin,user): i ruoli di team e quelli personalizzati restano. - La password temporanea è di 12 caratteri, si vede una volta, rigenera
auth_key(chiude le sessioni "ricordami"), finisce nel registro e avvisa l'utente e gli amministratori. Non si può generare per un account protetto.
Token master¶
La pagina Token master gestisce i token API non legati a un account (vedi
API HTTP). Si crea un token con un nome e le
operazioni abilitate, raggruppate per modulo; le operazioni sono lette da
api/config/routes-v1.php, quindi una rotta nuova compare da sola. Il valore
in chiaro si vede una sola volta. Le operazioni si possono cambiare in seguito;
la revoca è definitiva.