Gestión de usuarios en Drupal 8

1. Usuarios, roles y permisos

Controlar quién tiene la capacidad de hacer lo que en tu sitio web se realiza a través de las características de seguridad de Drupal.

Las características de seguridad de Drupal proporcionan la posibilidad de definir quién tiene la capacidad de ver, crear, actualizar, eliminar y participar mediante una combinación de cuentas de usuario individuales, funciones de usuario y permisos. Los usuarios (o visitantes del sitio) de Drupal 8 se dividen en dos categorías generales: usuarios anónimos y usuarios autenticados. Los usuarios anónimos son personas que visitan tu sitio web y no inician sesión con un ID de usuario y contraseña. Si visitas www.cnn.com y no te conectas, estás clasificado como usuario anónimo. Con Drupal, puedes soportar usuarios anónimos, y también tienes la capacidad de restringir lo que esos usuarios pueden hacer en tu sitio. Los usuarios autenticados son visitantes de tu sitio que inician sesión utilizando un ID de usuario y contraseña. Veremos cómo se crean los ID de usuario y las contraseñas en breve, pero la diferencia entre las dos categorías es importante.

Los roles son un mecanismo Drupal que le permite al administrador del sitio definir categorías de usuarios autenticados del sitio web. Puedes definir roles en tu sitio web que sean específicos de un departamento (ej. un rol para recursos humanos, otro para compras, otro ventas, marketing y servicio al cliente), roles que son orientados funcionalmente (ej. autores de contenido, revisores de contenido, editores de contenido), roles asociados con una sección específica de tu sitio (ej. productos, soporte, ventas, página principal) o cualquier otra definición que puedas soñar. Los roles son simplemente una manera de colocar usuarios autenticados en categorías, donde las categorías se asocian con permisos específicos. Cualquier usuario autenticado de tu sitio web puede ser asignado a ninguno, uno o más de un rol (ej. puedes tener un usuario al que se asignan roles de departamento de ventas, autor de contenido, y productos).

Los permisos en Drupal son un mecanismo para controlar lo que un usuario asignado a un rol específico puede hacer. Hay docenas de permisos que puedes activar o desactivar para cada rol de usuario que hayas definido. Ejemplos de permisos que puedes establecer para un rol específico incluyen: la capacidad de crear una nueva página, la capacidad de crear un nuevo artículo, la capacidad de editar cualquier artículo independientemente de quién lo haya creado, la capacidad de buscar contenido en el sitio web y la posibilidad de agregar una nueva cuenta de usuario. La combinación de permisos que para cada rol define las capacidades que un usuario asignado a ese rol puede hacer en tu sitio web una vez ha iniciado sesión correctamente.

Cuando combinas roles de usuario con permisos y cuentas de usuario individuales, se termina con una solución configurable para asegurar el acceso a las características clave y el contenido de tu sitio web.

2. Cuentas de usuario

Todos los sitios Drupal tienen al menos una cuenta de usuario: el administrador del sistema. Esta cuenta se crea automáticamente durante el proceso de instalación, y es la cuenta que utilizará para administrar tu sitio.

Para los sitios en los que el propietario del sitio es el único que crea contenido y administra el sitio, sólo tienes que tener la cuenta del administrador del sitio. Si prevés tener otros que administrarán o crearán contenido, entonces deberás decidir qué mecanismo de Drupal utilizar para crear cuentas de usuario. Drupal ofrece tres alternativas para elegir:

  1. Sólo los administradores pueden crear cuentas de usuario.

  2. Los visitantes pueden crear sus propias cuentas sin que un administrador apruebe su cuenta.

  3. Los visitantes pueden solicitar una nueva cuenta, pero un administrador tiene que aprobar la cuenta antes de que se active.

Qué enfoque debes tomar depende de cómo anticiparse a los visitantes que utilizan tu sitio web. Si tu sitio es de carácter informativo y los visitantes no necesitan conectarse para ver el contenido o participar en las funciones del sitio (ej. publicar comentarios), la primera opción es la mejor, ya que no confunde a los visitantes, haciéndoles pensar que han de iniciar sesión para ver el contenido. Si tu sitio tiene contenido o características que se consideran “no para consumo público” y requieren una cuenta de usuario, entonces debes elegir un enfoque que funciones para tí dependiendo de si deseas que los visitantes puedan crear sus propias cuentas sin verificar credenciales (segunda opción) o deseas que un administrador realice alguna verificación antes de que se active la cuenta de usuarios (tercera opción). Establecer el enfoque que vas a utilizar forma parte del proceso de configuración del sistema.

3. Configurando los ajustes de la cuenta de usuario

Antes de crear tu primera cuenta de usuario, es aconsejable que visites la página de configuración de la cuenta de usuario y revises o modifiques la configuración general de la cuenta de usuario, de la cual hay muchos ajustes (ver figura 3-1).

Figura 3-1.

Para acceder a la página de configuración, selecciona Administrar ➤ Configuración (suponiendo que hayas iniciado sesión como administrador) y, en la página Configuración, busca la sección titulada “Personas”.

Haz clic en el vínculo Configuración de la cuenta, el cual te llevará a la página que usarás para establecer varios parámetros de configuración para las cuentas de usuario:

  • Configuración de contactos: puedes habilitar a los usuarios individuales del sitio para que tengan un formulario de contacto personal. Esta característica está habilitada por defecto; para desactivarla, simplemente desmarca la casilla.

  • Usuarios anónimos: el nombre utilizado para identificar usuarios anónimos. En la mayoría de los casos, dejar el valor predeterminado (“Anónimo”) es lo apropiado.

  • Rol de administrador: qué rol asociar con las capacidades del administrador. El rol seleccionado se convierte en el rol predeterminado asignado como administrador de los nuevos módulos que se instalan en el sistema. Usar el valor predeterminado “Administrador” es una acción apropiada (veremos la creación de roles más adelante en este capítulo).

  • Registro y cancelación: define varios atributos sobre el registro de la cuenta de usuario.

    • Quién puede registrar cuentas: si sólo los administradores pueden crear cuentas, selecciona la primera opción “Sólo administradores”. Si cualquier visitante del sitio puede crear una cuenta propia, selecciona la opción “Visitantes”. Si los visitantes pueden solicitar una cuenta pero el administrador debe aprobarla antes de que la cuenta esté activa. Esta opción es la predeterminada. Para fines de demostración seleccionará la primera opción, de modo que sólo los administradores puedan crear cuentas de usuario.

    • “Requerir verificación de correo electrónico”, es una buena opción para dejar marcada. Esta opción requiere que el usuario responda a un correo electrónico generado por Drupal que les solicite que confirmen su cuenta. Esto ayuda a evitar las cuentas de usuario creadas por robots, ya que la mayoría de los robots no tienen la inteligencia o capacidad de responder a los correos electrónicos de verificación de cuentas de usuario.

    • El indicador de la fuerza de la contraseña es una herramienta útil para indicar cuán fuerte es la contraseña de una persona. Una contraseña débil puede ser fácilmente hackeada, mientras que una contraseña fuerte es más difícil de romper. Es una buena herramienta para ayudar a mantener tu sitio Drupal seguro.

    • Al cancelar una cuenta de usuario, un conjunto de opciones te permite definir lo que sucede con el contenido de tu sitio que fue creado por este usuario al deshabilitar la cuenta de esa persona en el futuro. En la mayoría de los casos, la opción predeterminada, “Desactivar la cuenta y mantener todo el contenido”, satisface las necesidades de la mayoría de los sitios web. Sin embargo, puedes decidir que una de las otras opciones es más apropiada para tu sitio.

  • Personalización: define si los usuarios pueden agregar firmas a sus perfiles. Dejaremos los valores por defecto para nuestro sitio de prueba; sin embargo, puede que quieras habilitar o deshabilitar firmas dependiendo de si quieres proporcionar esas capacidades a los usuarios. La dirección de correo electrónico en el campo “Dirección de correo electrónico de notificación” es la dirección de correo electrónico que aparecerá en todos los correos electrónicos centrados en la cuenta de usuario generados por Drupal durante el proceso de registro y recuperación de contraseñas. De forma predeterminada, la dirección de correo electrónico del sitio definida durante el proceso de instalación es el valor que se utilizará; sin embargo, puedes anular el valor predeterminado introduciendo una dirección de correo electrónico válida en el campo “Dirección de correo electrónico de notificación”.

Las opciones restantes en la parte inferior de la página definen el formato de los correos electrónicos generados por el sistema para informar a los usuarios de su nueva cuenta y el contenido que se incluye en cada uno de los correos electrónicos generados por el sistema. Puedes modificar el contenido de los correos electrónicos para atender tus preferencias individuales. Simplemente haz clic en cada una de las pestañas del menú vertical para ver cada una de las pestañas del menú vertical para ver cada uno de los correos electrónicos generados por el sistema y que se envía a los usuarios. Si examinas el contenido predeterminado, verás valores como “[user:name]”. Estos tokens son usados por Drupal para colocar contenido dinámico en el cuerpo de los correos electrónicos generados. Por ejemplo, [user:name] insertará el nombre de usuario de la persona que se ingresó en el formulario de registro en el lugar específico donde aparece ese token en el correo electrónico.

Ahora que tienes la definición de las cuentas de usuario completada, estás listo para definir roles y establecer permisos.

4. Creando roles

Los roles de usuario son un mecanismo para categorizar grupos de usuarios con responsabilidades y capacidades similares en tu página web. Si tu sitio web es para una escuela primaria, podrías tener roles para maestros, estudiantes y personal. Si tu sitio web es para una comunidad, es posible que tengas roles para autores de contenido, revisores de contenido, editores y administradores del foro.

La parte más difícil de crear roles de usuario es decidir qué funciones necesitarás para tu sitio. En general, es más fácil administrar un sitio que tiene pocos roles que uno que tiene muchos roles, ya que debes ajustar los permisos para cada rol individual. Sin embargo, un menor número de roles significa menos flexibilidad, por lo que es un acto de equilibrio, y a menudo algo que debes ajustar con el paso del tiempo a medida que te familiarices con los tipos de usuario de tu sitio.

Desafortunadamente, no hay una fórmula que puedas usar para determinar cuántos roles necesitarás, pero afortunadamente no hay una respuesta correcta o incorrecta en cuanto a cuántos necesitarás. Para nuestro ejemplo, crearemos dos roles de propósito general:

Un rol para usuarios que forman parte de nuestra organización y que tendrán la responsabilidad de crear, publicar y administrar contenidos y menús en nuestro sitio.

Un rol para los visitantes del sitio que reciben acceso a contenido “no público” destinado sólo a usuarios autenticados (visitantes a los que se les ha asignado un ID de usuario y una contraseña). Estos pueden ver contenido y agregar comentarios al contenido, pero no pueden autorizar, editar ni eliminar contenido.

Para crear un nuevo rol de usuario, suponiendo que hayas iniciado sesión como administrador, haz clic en el enlace “Administrar” del menú situado en la parte superior de la página y, a continuación, en el enlace “Personas” del submenú. En la página “Personas”, haz clic en la pestaña “Roles” para ver la página donde ver, crear, editar y eliminar roles. En esta página hay un cuadro de texto en blanco titulado “Nombre de rol”, que es donde se ingresará el nombre de tu nuevo rol. Para fines de demostración, ingresa “usuario de la empresa” como nombre del nuevo rol (ver figura 3-2).

Clica en el botón Guardar. Esto da como resultado la creación del rol de usuario de la empresa, como se muestra en la lista de roles de usurios definidos en la figura 3-3.

Figura 3-3.

Para tu segundo ejemplo de rol de usuario, introduce “Usuario restringido”. Un usuario restringido es cualquier usuario que tiene una cuenta en el sitio web y que puede ver contenido restringido y publicar comentarios en ese contenido, pero no puede crear, editar o eliminar contenido ni realizar cualquier función de administración en nuestro sitio web. Haz clic en el botón “Añadir rol”, introduce el valor “Usuario restringido” en el cuadro de texto y haz clic en el botón Guardar para continuar.

Con los dos nuevos roles definidos, estás listo para asignar permisos a los roles que has creado.

5. Asignación de permisos

Los permisos proporcionan un mecanismo para controlar lo que los usuarios asignados a funciones específicas en el sitio web pueden y no pueden hacer.

El núcleo Drupal y cada módulo aportado proporcionan un conjunto de permisos predefinidos que debes habilitar o deshabilitar en función de cada función.

Para asignar permisos a una función, haz clic en el enlace Administrar en la parte superior de la página y en el enlace “Personas” del submenú (suponiendo que hayas iniciado sesión como administrador). En la página Personas, haz clic en la ficha Permisos, la cual muestra la página que utilizarás para establecer permisos para cada una de las funciones que has definito (ver figura 3-4).

Figura 3-4.

Esta página enumera todos los permisos disponibles para tu sitio y las funciones que has definido. Puedes desplazarte por la página y comprobar los permisos que deseas habilitar para esa función, y puedes desmarcar los permisos que deseas quitar a este rol.

Para fines de demostración, desplázate hacia abajo hasta encontrar una sección titulada “Nodo”, y en esa sección, marca los siguientes cuadros para el rol Usuario de la empresa:

  • Artículo: crear nuevo contenido.

  • Artículo: eliminar contenido propio.

  • Artículo: eliminar revisiones.

  • Artículo: revertir revisiones.

  • Artículo: revertir revisiones.

  • Artículo: ver revisiones.

  • Página básica: crear nuevo contenido.

  • Página básica: eliminar contenido propio.

  • Página básica: eliminar las revisiones.

  • Página básica: editar contenido.

  • Página básica: revertir revisiones.

  • Página básica: ver revisiones.

  • Acceder a la página de descripción del contenido.

  • Administrar contenido.

  • Ver contenido publicado.

Para la función de usuario restringido, desplázate hasta la sección Comentarios y asegúrate de que están marcados los siguientes permisos:

Ver comentarios.

Omitir aprobación de comentario.

Editar sus propios comentarios.

Una vez que hayas marcado las casillas correspondientes a los permisos requeridos, desplázate hasta la parte inferior de la página y haz clic en el botón “Guardar permisos”. En este momento, has creado roles y has asignado permisos a esos roles. Ya puedes crear cuentas de usuario.

6. Creando cuentas de usuario

Ahora tienes definidos los roles de usuario, los permisos adecuados estableciedos y estás listo para crear cuentas de usuario. El proceso para crear una nueva cuenta de usuario se realiza haciendo clic en el enlace Administrar del menú situado en la parte superior de la página y haciendo clic en el enlace Personas en el submenú. Al hacer clic en este enlace se muestra la página de la figura 3-5.

Figura 3-5.

Esta pantalla muestra todas las cuentas de usuario existentes. En este punto, la única cuenta que se muestra es la cuenta de administrador, que se creó cuando realizamos el proceso de instalación. Para agregar un nuevo usuario, haz clic en el botón “Añadir usuario” en la parte superior de esta página, la cual muestra el formulario “Añadir usuario” (ver figura 3-6).

Figura 3-6.

Para fines de demostración, crearemos una nueva cuenta de usuario introduciendo los siguientes valores:

  • En el campo Dirección de correo electrónico: johnsmith@example.com.

  • En el campo Nombre de usuario: johnsmith.

  • En el campo Contraseña: 12johnsmith34.

  • En el campo Confirmar contraseña: 12johnsmith34.

  • Selecciona la opción de estado “Activo”.

  • Selecciona la opción de rol “Usuario de la empresa”.

  • Marca la casilla “Notificar al usuario de su nueva cuenta” (Drupal enviará un mensaje de correo electrónico al usuario notificándolo de su nueva cuenta).

  • Opcionalmente, puedes cargar una imagen de usuario (avatar), habilitar el formulario de contacto personal para esta persona marcando la casilla de verificación “Formulario de contacto personal” y establecer la zona horaria al valor en el que reside la persona. Para fines de demostración, dejaremos esos campos con sus valores predeterminados.

  • Haz clic en el botón “Crear nueva cuenta” para guardar la cuenta.

  • Haz clic en el enlace “Personas” en el menú de administradores para ver la lista completa de cuentas de usuario en tu sitio (ver figura 3-7), incluida la cuenta que acabas de crear.

Figura 3-7.

John Smith ahora puede iniciar sesión en tu sitio y realizar todas las tareas asociadas con el rol de usuario de la empresa.

Puede haber casos en los que necesites actualizar una cuenta de usuario. Por ejemplo, puede que necesites restablecer la contraseña de un usuario, cambiar su dirección de correo electrónico, actualizar sus roles asignados o deshabilitarlo.

Puedes realizar todas estas acciones haciendo clic en el enlace “Editar” asociado con la cuenta del usuario en la página “Personas”.

7. Cuentas generadas por el usuario

Si configuraste tu sitio para que los visitantes puedan crear sus propias cuentas, lo que requiere que el administrador del sitio revise y apruebe su cuenta, el proceso es ligeramente diferente al de un administrador que crea las cuentas de los usuarios. Si seleccionaste la opción de cuenta de usuario donde un visitante puede crear su cuenta pero requiere la aprobación del administrador, o la opción donde los visitantes pueden crear su cuenta sin un administrador que aprueba su cuenta, el formulario de inicio de sesión en la página principal tiene una opción adicional debajo del botón “Acceder”: “Crear nueva cuenta” (ver figura 3-8).

Figura 3-8.

Al hacer clic en este enlace (sin estar conectado al sitio), aparecerá una pantalla en la que un visitante podrá ingresar su nombre de usuario y su dirección de correo electrónico (ver figura 3-9). Para este ejemplo, ingresa un nombre de usuario y una dirección de correo electrónico para la nueva cuenta y haz clic en “Crear nueva cuenta”. (Nota: Drupal sólo te permite usar una dirección de correo electrónico una vez en todo el sitio. La dirección de correo electrónico que ya esté asignada a una cuenta en tu sistema dará lugar a un mensaje de error).

Figura 3-9.

Tan pronto como se crea la cuenta, Drupal envía un correo electrónico a la dirección de correo electrónico ingresada por el usuario y muestra un mensaje de éxito que aparece en la pantalla: “Gracias por solicitar una cuenta. Tu cuenta está pendiente de aprobación por parte del administrador del sitio. Mientras tanto, un mensaje de bienvenida con más instrucciones ha sido enviado a su dirección de correo electrónico”.

Si configuraste tu sistema para permitir a los usuarios crear una cuenta, pero un administrador debe aprobarla manualmente, deberás visitar la página “Personas” y editar la cuenta de ese usuario, cambiando el estado del usuario de “Bloqueado” a “Activo”. Hasta que se cambie el estado del usuario, no podrán iniciar sesión en tu sitio con su ID de usuario y contraseña. Si seleccionaste la opción donde los usuarios pueden crear una cuenta y la cuenta no requiere la aprobación del administrador, el usuario podrá iniciar sesión en tu sitio inmediatamente.

8. Restablecimiento de las contraseñas de los usuarios

Una de las características de Drupal que ahorra horas de trabajo a los administradores del sitio, es la capacidad de los usuarios para restablecer sus contraseñas sin tener que enviar un correo electrónico a un administrador del sitio pidiendo a alguien que restablezca su contraseña para ellos. Si sales de tu sitio (haciendo clic en el enlace de cierre de sesión en la parte superior derecha de la página), observarás que en la columna derecha, debajo del botón “Iniciar sesión”, hay un enlace para restablecer tu contraseña (ver figura 3-8).

Al hacer clic en este enlace se muestra una página en la que el visitante puede ingresar su ID de usuario o su dirección de correo electrónico.

Si introduce un nombre de usuario válido o una dirección de correo electrónico válida (donde “válido” significa que existe como un ID de usuario válido en tu sitio o una dirección de correo electrónico válida asociada a una cuenta de usuario en tu sitio), Drupal generará un correo electrónico que se envía al usuario con un enlace de “Inicio de sesión único” que les permite restablecer su contraseña.