Evitar que un usuario vea opciones de administración para las que no tiene permisos en Drupal

admin-toolbar-tools_0.png
Solucionex
05
Dic 19

En nuestros proyectos es habitual que creemos distintos roles para restringir las funcionalidades a las que puede acceder cada usuario. El objetivo es simplificar su día a día y que solo vean aquello que tienen que usar, y no las múltiples opciones de administración que ofrece un Drupal de serie.

Para ello lo que hacemos es crear distintos roles y a cada uno le asignamos una serie de permisos pero, cuando necesitamos que el usuario acceda a alguna página de administración (por ejemplo para administrar taxonomías) debemos darle el permiso "Use the administration pages and help". Al darle este permiso, por defecto el usuario verá todas las opciones de administración de Drupal, incluidas aquellas a las que no tiene acceso.

Si el usuario intenta entrar en alguna opción para la que no tiene acceso, no podrá y se le mostrará un mensaje de aviso, pero resulta molesto para el usuario y además va en contra de la filosofía de simplificación por la que habíamos decidido crear otro rol.

Por suerte, hace un tiempo se creó un módulo llamado Administration links access filter que solventaba este problema y hacía que el usuario solo viera aquellas opciones para las que tiene acceso.

Aquel módulo finalmente terminó incluyéndose como submódulo en el propio módulo Admin toolbar por lo que ahora basta con activar dicho submódulo para resolver este problema.

Espero que os haya sido de ayuda!