Bekijk Gebruikers E-mail
Een Drupal module die ik heb gemaakt om een veelvoorkomend admin-probleem op te lossen.
Dit begon als een oplossing voor een probleem dat ik steeds tegenkwam op Drupal-sites. Admins hadden selectieve toegang nodig tot gebruikers-e-mails. Wat begon als een eenvoudige oplossing, is uitgegroeid tot een module die door honderden sites wordt gebruikt. Het is geweldig geweest om het te zien evolueren door Drupal 8, 9 en 10.
Het probleem
Drupal 8 tot en met 9.1 had geen ingebouwde manier om niet-admin rollen selectief gebruikers-e-mailadressen te laten zien. Sites hadden moderators of ondersteunend personeel nodig om e-mails te bekijken zonder volledige admin-rechten te verlenen. De enige opties waren aangepaste code of overmatig delen.
De aanpak
Een kleine Drupal-module die één permissie toevoegt en hook_entity_field_access() gebruikt om de zichtbaarheid van het e-mailveld te filteren tijdens het toegangscontroleproces. Geen config UI, geen schema, geen verrassend gedrag. De permissie kan per rol worden toegewezen via Drupal's native RBAC.
Opmerkelijke beslissingen
- Eerst permissies. Maakt gebruik van Drupal's bestaande rolgebaseerde toegang, zodat admins geen ander configuratie-oppervlak hoeven te leren.
- Field-level access hook. Filtert op entiteits- en veldniveau, zodat de regel uniform van toepassing is op REST, GraphQL, de admin UI en gebruikerspagina's.
- Nul ceremonie. Eén permissie, één hook, geen instellingenformulier. De module is klein genoeg om in enkele minuten te auditen.
Status
Functionaliteit samengevoegd in Drupal core vanaf 9.2, wat het beste resultaat is dat een contrib-module kan hopen. Nog steeds onderhouden voor sites op Drupal 8 en 9.0 tot 9.1. Honderden sites hebben het overgenomen voordat core bijliep. Gepubliceerd op 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.