Cómo restringir el acceso a páginas, tipos de páginas y menús de su sitio web basado en Drupal

Introducción al uso de los módulos Content Acces and LoginToboggan

Por: Orlando Cárcamo Berrío

INTRODUCCIÓN. Cuando basas el diseño de tu sitio en el  sistema de gestión de contenidos conocido con el nombre de Drupal, puedes lograr que mucha gente se registre como usuario.

Mi sitio, orlandocarcamo.com, está basado en Drupal CMS. En ese sitio publico información relacionada con mi trabajo como profesor de educación superior: ensayos, artículos, noticias locales y aficiones.  Cerca de cien personas se habían registrado como usuarios de mi sitio hasta que me di cuenta de que mi sitio  no  estaba ofreciendo nada diferente a los usuarios registrados. Tanto los usuarios registrados como los no registrados tenían acceso a la misma información.

EL PROBLEMA. Yo quería restringir el  acceso a ciertas páginas y tipos de páginas solo a los usuarios registrados con el propósito de llevar a los visitantes no registrados a crear una cuenta. Quería que cuando  un usuario no registrado diera clic sobre ciertas entradas del menú, apareciera una página de advertencia  diciéndole al visitante que él no tiene acceso a tal página porque no es un usuario  registrado de mi sitio. Debajo de esa advertencia, debe aparecer un formulario invitando al usuario a crear una cuenta en este sitio.

Esta tarea no fue fácil. Invertí muchas horas probando muchos módulos, pero no encontré uno que se comportara como yo quería. Probé, por ejemplo, Signup, Signup restrict by role, Simple Acces y otros. Lo que estos módulos hacen es esconder ciertas páginas de los usuarios de acuerdo con roles establecidos por el administrador. Pero lo que yo realmente quería era que los usuarios o visitantes no registrados pudieran ver ciertos enlaces pero que no se les permitiera el acceso a las páginas enlazadas sino hacia una página con un formulario para crear una nueva cuenta.

LA SOLUCION. Después de un proceso de prueba de módulos inútiles para mi propósito, encontré un artículo muy breve en la página Web Developer´s Blog el cual me brindó una solución para mi problema. Allí encontré dos módulos que hicieron el trabajo como yo quería. El primer módulo es Content Access; the second one is LoginToboggan.

Content Access es un modulo que permite al administrador del sitio manejar los permisos de acuerdo con el tipo de contenido de acuerdo con roles y autores. Sin embargo, este módulo, cuando trabaja solo, genera un problema de usabilidad. Siempre que un usuario no autorizado da clic sobre un enlace restringido, el usuario se encuentra con una página poco amigable que dice “Access denied” la cual no presenta la opción para volverse usuario de nuestro sitio. Este problema puede ser evitado gracias al módulo LoginToboggan.

LoginToboggan le permite mostrar un formulario  de acceso en la poco amigable página de “Access Denied”. Mediante este formulario de acceso, los usuarios no registrados pueden abrir una cuenta en nuestro sitio y registrarse. Esto era lo que estaba buscando.

CONCLUSION. Hacer que sus usuarios se registren en su sitio podría ser lo suficientemente bueno para saber quién está visitando su sitio y leyendo sus artículos. Usted puede de alguna manera forzar a sus lectores a registrarse si restringe su acceso a ciertos materiales o páginas.  Esta restricción puede ser lograda por medio de los módulos Content Access y LoginToboggan trabajando juntos como equipo.

REFERENCIAS:

THE DEVELOPER’S BLOG (2008). Restrict access to Drupal nodes, node types and menu items. Online: http://webdeveloper.beforeseven.com/drupal/restrict-access-drupal-nodes-node-types-and-menu-items (Search: May 10th, 2009).

DRUPAL.ORG (2006). Login Toboggan.  Online: http://drupal.org/project/logintoboggan
(Search: May 10th, 2009).

_________ (2007). Content Access. Online:
http://drupal.org/project/content_access
(Search: May 10th, 2009).