Visualizza Email Utente
Un modulo Drupal che ho creato per risolvere un comune problema amministrativo.
Questo è nato come soluzione a un problema che continuavo a riscontrare sui siti Drupal. Gli amministratori avevano bisogno di accesso selettivo alle email degli utenti. Quello che è iniziato come una semplice correzione è cresciuto fino a diventare un modulo utilizzato da centinaia di siti. È stato fantastico vederlo evolvere attraverso Drupal 8, 9 e 10.
Il problema
Drupal 8 fino alla versione 9.1 non disponeva di un modo integrato per consentire selettivamente ai ruoli non amministratori di visualizzare gli indirizzi email degli utenti. I siti necessitavano di moderatori o personale di supporto per visualizzare le email senza concedere privilegi amministrativi completi. Le uniche opzioni erano codice personalizzato o condivisione eccessiva.
L'approccio
Un piccolo modulo Drupal che aggiunge un permesso e aggancia hook_entity_field_access() per filtrare la visibilità del campo email al momento del controllo di accesso. Nessuna interfaccia di configurazione, nessuno schema, nessun comportamento a sorpresa. Il permesso può essere assegnato per ruolo tramite il sistema RBAC nativo di Drupal.
Decisioni degne di nota
- Priorità ai permessi. Sfrutta l'accesso basato sui ruoli esistente di Drupal, quindi gli amministratori non devono imparare un'altra superficie di configurazione.
- Hook di accesso a livello di campo. Filtra a livello di entità e campo, quindi la regola si applica uniformemente su REST, GraphQL, l'interfaccia di amministrazione e le pagine utente.
- Zero cerimonie. Un permesso, un hook, nessun modulo di impostazioni. Il modulo è abbastanza piccolo da poter essere revisionato in pochi minuti.
Stato
Funzionalità integrata nel core di Drupal a partire dalla versione 9.2, che è il miglior risultato che un modulo contrib possa sperare. Ancora mantenuto per i siti su Drupal 8 e dalla versione 9.0 alla 9.1. Centinaia di siti lo hanno adottato prima che il core raggiungesse il livello. Pubblicato su Drupal.org.
Want similar work for your team?
AI-native senior engineering for AI, cloud, and web. Open to consulting engagements and full-time roles.