Open SourceFeatured

Visualizza Email Utente

Un modulo Drupal che ho creato per risolvere un comune problema amministrativo.

DrupalPHPAccess Control

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.