Información de usuario de caché esi de Symfony2

Necesito almacenar en caché mi página de inicio, hasta ahora no hay problema, usar proxy inverso es lo suficientemente bueno

Pero también necesito incluir la parte del encabezado con independiente (ESI), para poder verificar si el usuario está conectado y mostrar su información "hola Vincent".

El problema es que si lo hago, la página de inicio (como todas las páginas) tendrá que probar la sesión, y como uso el almacenamiento PDO, puedo ver 2 consultas ejecutándose en MySQL para cada usuario/página.

Así que traté de agregar una cookie simple "is_connected" y verifiqué su ausencia para mostrar la versión cerrada sin solicitar sesión, pero parece que mientras tenga un firewall que permita a un usuario anónimo, solicitará sesión.

Me estoy quedando sin idea, me gustaría ver qué hace la gente para esto, el objetivo es ninguna consulta en la página de inicio.

gracias

preguntado el 08 de marzo de 13 a las 21:03

1 Respuestas

La página de inicio no necesita probar la sesión. Debe almacenarse en caché públicamente y contener la etiqueta de inclusión esi:

<esi:include src="/home/header_fragment.html" />

Solo el recurso header_fragment necesita probar la sesión del usuario para iniciar sesión. Puede almacenar una pequeña caché de la información del usuario que inició sesión (nombre, correo electrónico, lo que sea) en una cookie firmada y leerla en header_fragment para determinar si inició sesión o no, y si inició sesión, muestre el nombre del usuario en lugar de buscar el información en el almacén de datos.

Respondido 17 Jul 13, 17:07

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.