Hemos configurado un sitio en Drupal 7 en el que nos gustaría que ciertos usuarios tengan acceso a la página de administración de usuarios y puedan crear nuevos usuarios, asignar roles, etc., pero no queremos darles acceso a Roles y páginas de permisos.
Actualmente Drupal solo tiene 2 permisos Administer Permissions
y Administer users
.
Con el Administer users
permiso, el usuario tiene acceso a la página de Administración de usuarios y puede crear nuevos usuarios, pero no puede asignar roles a los usuarios.
Si el usuario tiene el Administer permissions
permiso, puede asignar roles a los usuarios y también acceder a las páginas de permisos y administración de roles.
¿Cómo le concedería a un usuario el derecho de asignar roles a los usuarios, pero evitarle que acceda a la página de permisos?
Hmmm ... Interesante que no parece haber una forma clara de hacer esto. Parece que podría ser una característica común para las personas. Encontré un par de soluciones:
http://drupal.org/project/protect_permissions - Sin embargo, esto aún no está listo para su uso en producción.
Sin embargo, creo que puede lograr lo que quiere con: http://drupal.org/project/permissions_lock
También necesitará: http://drupal.org/project/user_permissions
El último parece hacer lo contrario de lo que quieres, pero el primero parece hacer exactamente lo que quieres. No he probado ninguno de estos en mi sitio de desarrollo para asegurarme al 100% de que esto es lo que funcionará para usted. Si me encuentro con algo más, actualizaré esta respuesta.
fuente
La delegación de roles deja un agujero de seguridad. Debe asignar a las personas los usuarios administradores para que puedan usar la página de administración y las herramientas que tiene.
Pero si lo hace, ese rol podrá editar incluso superadmin. Consulte Cuidado con el permiso Administrar usuarios de Drupal para obtener una descripción completa.
Mi solución es delegación de roles + este gancho
fuente
Últimamente hemos estado usando el módulo roleassign , que hace exactamente lo que estás pidiendo. Es fundamentalmente idéntico al módulo role_delegation, pero podría ser una alternativa si necesita algo ligeramente diferente.
Una diferencia clave es cómo decide qué roles están disponibles para ser asignados. Con roleassign, solo selecciona cuáles desea que estén disponibles, y solo agrega un nuevo permiso para asignar esos roles:
El módulo role_delegation parece dar un nuevo permiso para cada rol que existe en el sitio:
El módulo role_delegation también parece tener casi el triple del número de instalaciones y una versión "recomendada" de Drupal 8. La cola de problemas también parece estar en mejor forma, ¿entonces es probablemente la mejor opción?
fuente