Expertos en Drupal

Drupal: cómo permitir gestionar usuarios en los roles no administradores

Hoy os explicamos como configurar un rol no administrador para que los usuarios con este rol puedan crear/editar usuarios y asignarles/desasignarles roles.

Drupal: cómo permitir gestionar usuarios en los roles no administradores

Gestionando usuarios en Drupal

Si por ejemplo quisiéramos que el rol personalizado “webmaster” pudiera gestionar los usuarios de una web Drupal, lo primero que se nos ocurriría sería asignar a este rol los permisos “Administer users” y “View user profiles”. No obstante, estaríamos cometiendo un error gravísimo dado que los usuarios con este rol podrían llegar a hacerse administradores de la web e incluso eliminar cualquier usuario administrador. Por tanto, no es seguro dar el permiso “Administer users” al usuario personalizado “webmaster”.

Entonces, lo que hay que hacer es dar sólo el permiso “View user profiles” e instalar los módulos Administer Users by Role y RoleAssign. A continuación, os explicamos qué nos permite cada uno de estos módulos y como tenemos que configurarlo de acuerdo con el ejemplo expuesto:

  • Administer Users by Role: Este módulo añade nuevos permisos que, asignados todos juntos a un rol concreto, acabaría siendo casi equivalente a dar a aquel rol el permiso “Administer users”. Los permisos que añade son:
    • Por cada rol personalizado, el módulo creará dos permisos personalizados nuevos: “Edit user with role X” y “Cancel user with role X”. En nuestro caso, si queremos que el usuario con rol “webmaster” pueda gestionar los usuarios con rol “Editors blog”, debemos asignarle los permisos “Edit user with role Editors blog” y “Cancel user with role Editors blog”.
    • “Cancel user with no custom roles”: El mismo que el permiso anterior, pero con la acción de cancelar en cuenta de la de edición. No tenemos que asignar este permiso.
    • “Edit user with no custom roles”: Hay que marcar esta opción si queremos que los usuarios del rol puedan editar con roles que vienen de serie con Drupal. No tenemos que asignar este permiso.
    • “Access the users overview page”: Hay que marcar esta opción si queremos que los usuarios del rol puedan acceder a la vista de gestión de usuarios. Hay que asignar este permiso.
    • “Create new users”: Es necesario marcar esta opción si queremos que los usuarios del rol puedan crear usuarios. En nuestro caso, se debería asignar este permiso.
  • RoleAssign: Si no instalamos este módulo, el usuario con permiso “Create new users” podría crear usuarios y borrarlos, pero no podría asignarles ni desasignarles roles. Por tanto, tendremos que activar este módulo y configurarlo en dos pasos:
    • Iremos a la pantalla de permisos “People » Permissions” y asignaremos el permiso “Assign roles” a los usuarios que queremos que puedan gestionar los roles de los usuarios. En nuestro caso, asignaremos el permiso a los roles “administrador” y “webmaster”.
    • Iremos a “People » Permissions » Role assign” y marcaremos todos los roles que los usuarios con el permiso “Assign roles” podrán asignar o desasignar. En nuestro caso, marcaremos sólo el rol “Editors blog”.

Comparte este artículo

Artículos Relacionados