Obligar a usuarios a logearse cuando acceden a ciertos paths

ssoulless's picture

Hola, necesito ayuda configurando lo siguiente. Porfavor antes de continuar leyendo, miren la siguiente web: http://www.quebuenacompra.com/

Una vez acceden el sitio web les obliga a registrarse o iniciar sesión antes de poder navegar. Yo necesito esto pero por ejemplo al acceder a un path o paths específicos. Ejemplo:

que solo aparezca en los paths
proyectos
proyectos/*

ya intenté con el módulo splashify, con fancybox, pero estos no funcionan bien, ya que este debe integrar con social login, y en estos módulos no se pueden insertar bloques. Ademas, no sé como hacer para que sea obligatorio, y que no se desaparesca el overlay solamente con hacer click por fuera.

Qué opciones tengo?

Comments

Primero debes controlar los

hatuhay's picture

Primero debes controlar los permisos para ver el contenido determinado.
No queda claro si el acceso es por URL, tipo de contenido u otro, pero dependiendo del caso debes buscar un módulo que limite el acceso a dichas páginas.
Segundo debes buscar un modulo que te redireccione al login en caso denegado, particularmente recomiendo https://drupal.org/project/logintoboggan.

pero como logro el overlay?

ssoulless's picture

Si pero como logro el overlay? necesito que el formulario quede en una caja flotante... =(

El overlay no es 100% seguro

hatuhay's picture

El overlay no es 100% seguro porque la página se debe cargar y después cubrir con un overlay. Ese overlay se deshabilita fácilmente con firebug.
En todo caso si quieres continuar por ese camino we me ocurre que puedes escribir un módulo que:
1. Valide si el usuario es user 0, osea anónimo.
2. Si es anónimo carga un bloque login que lo puedes tener precargado y oculto.
3. Sea el overlay que utilices: lightbox, colorbox, bootstrap_modal o el modal del módulo examples, debes ejecutar un script que deshabilite el click guera del cuadro.

Yo lo que te aconsejo es que

raul_drupal_dev's picture

Yo lo que te aconsejo es que crees una pagina de inicio al estilo facebooko paginas de este estilo, donde en la pagina principal el usuario ha de registrarse y todas las demas paginas que estes reservadas a usuarios registrados...

Aprende drupal con videotutoriales en español en mi blog drupalia.cat

Puedes probar lo siguiente

isimgt's picture

Hola ssoulles puedes usar el modulo "https://drupal.org/project/ajax_register" este modulo te abre el login en una ventana modal como el link que pusiste de ejemplo.

Este modulo funciona de la siguiente manera:

El modulo genera un bloque llamado "Ajax Register links" este debes ponerlo en alguna region de tu tema y ya podrás ver el bloque con el link para abrir el login/register.

Como veras el bloque funciona con el evento click para que abra la ventana modal, para hacerlo automatico puedes hacer un script con jquery para que cuando cargue el dom de la pagina ejecute el evento click sobre el link que abre el login/register.

Para forzar a que te redireccione al login en diferentes secciones pude usar rules https://drupal.org/project/rules con rules puedes crear acciones y reacciones, puedes decirle que cuando estes en tal url redireccion a /user o como te quede mejor, es muy bueno.

He echo varios logins modales como el que pusiste y en todos los he echo así, espero te sirva.

saludos,

Exacto! lo que uses para

tomas.souto's picture

Exacto! lo que uses para registrar/identificar al usuario no me importa demasiado, hay miles de modulos, includo el login normal de Drupal, pero para las redirecciones lo mejor es usar Rules...

Rules te permite crear reglas (valga la redundancia) en donde puedes especificar que solo se aplique a los visitantes no logeados en el sistema, y según el path, etc, etc, etc...

Una vez que usas Rules no lo dejas ni para ir al baño ;)

Tomás Souto
Skype: tomas.souto

Baireswebdesign.com
Digital Agency - Web Design and Development
baireswebdesign.com

Ya lo pude hacer

ssoulless's picture

Hola luego de probar por muchos lados, un módulo tenía algo parecido a lo que quería, se llama Fancy Login. Este módulo por defecto no me servía así que lo modifiqué a mis necesidades que cargue el bloque de login de drupal + el bloque de social login con java script cuando la URL tiene un parámetro que le paso por interfaz administrativa, pronto indicaré con más detalle depronto a alguien mas le puede servir

Un cordial saludo y muchísimas gracias por su ayuda!