Usuarios roles y permisos

Un punto crítico en los gestores de contenidos es el de los permisos y es importante disponer de algun mecanismo que permita establecer que operaciones podrá realizar cada usuario. El objetivo es evitar que, por accidente o de forma intencionada, un usuario pueda realizar operaciones que comprometan la integridad y funcionamiento del sitio web. Para este fin, Drupal utiliza un sistema de roles, permisos y usuarios.

Entendemos por usuario a cualquier persona que accede al sitio web. Los usuarios se pueden agrupar en roles en función de las operaciones que se les permite realizar. Es decir, que cada rol se caracteriza por disponer de una serie concreta de permisos. Se entiende por permiso la posibilidad de ejecutar determinadas operaciones o no sobre los diferentes elementos del CMS.

En Drupal los roles se pueden gestionar  (crear, destruir o modificar) en "Administer>User managment>Roles". Para gestionar los permisos asociados a cada Rol deberemos ir a "Administer>User managment>Permisions". Luego para especificar que tareas se permitirán a cada usuario, bastará con asignarle un Rol a cada uno de ellos.

Se pueden crear los roles que se quiera, con los permisos que se  crean convenientes, pero por lo general se suelen definir los siguientes:

- Visitante: usuario que simplemente podrá leer o buscar en los contenidos y no necesita autentificarse. Para este tipo de usuarios se puede usar el rol “anonymous user” que viene por defecto con Drupal.
- Usuario autentificado: se le permite dejar comentarios u opinar sobre los productos o simplemente participar generando algún tipo de contenido. Para este tipo de usuario se puede utilizar el rol “authenticated user”.
- Editor: gestiona a los usuarios y todos los contenidos y no tiene porque tener nociones técnicas del funcionamento del sistema. Puede ser p.ej. el propietario de una tienda virtual o de una comunidad virtual, el cual no tiene conociemientos técnicos de la plataforma pero debe disponer de control total sobre los contenidos del sitio.
- Administrador: es el responsable técnico y puede acceder a cualquiera de los aspectos del sistema, configurando o modificando cualquier parámetro de éste. Este usuario tiene control total sobre el sitio web, por lo que puede realizar cualquier operación de configuración o mantenimiento sobre este.

Un punto que a los recién iniciados puede causar confusión es el del usuario de la base de datos y los usuarios del sitio web. Como se explica en el apartado de instalación, antes de poner en marcha un sitio web, debemos crear una base de datos y un usuario con todos los permisos sobre esta. Al iniciar la instalación de Drupal, este nos pedirá el usuario y password de la base de datos, es decir el nombre del usuario que tiene permisos totales sobre esa base de datos y su password. Este usuario y password únicamente serán utilizados por Drupal para acceder y guardar el valor de las diferentes variables en la base de datos.

Al prinicpio del todo de la instalación, una vez le hemos indicado a Drupal como acceder a la base de datos, nos pedirá que configuremos el usuario con permisos totales sobre el sitio web. Este usuario no tiene nada que ver con el de la base de datos, y puede ser el que queramos. De hecho el motor de Drupal guardará está información en la tabla “users” de la base de datos ( en el campo name guardará el nombre, y en pass el password encriptado con un hash MD5 ), mientras que el usuario y password de la bbdd lo guardará en unos ficheros de su instalación. Es importante que el acceso a las carpetas de estos ficheros tengan los permisos correctamente configurados. Así en resumen, ha de quedar claro que una cosa es el usuario de la base de datos y otra los usuarios del sitio web.