2012-02-15 25 views
6

Tengo dificultades para lograr lo siguiente: Modifique la fecha de caducidad de la cookie de sesión del usuario según el tipo de usuario.Modificar el vencimiento de la cookie de sesión y el tiempo de espera de la sesión de CakePHP

Tengo una aplicación web CakePHP en la que he creado mi componente de autenticación (en lugar de la autenticación de CakePHP) utilizando sesiones de CakePHP. Configuré CakePHP para manejar sesiones usando la base de datos.

Éstos son los valores de configuración relevantes que tengo en mi config.php:

Configure::write('Session.save', 'database'); 
Configure::write('Session.timeout', '36'); 
Configure::write('Security.level', 'medium'); 

¿Cómo se amplía la fecha de caducidad cookie de sesión y actualizar el valor en el "expira" columna en la "sesiones" tabla?

+0

Quizás esto puede ayudar: 'high' Tiempo de espera de sesión en 'Session.timeout' x 10; 'medio' Tiempo de espera de la sesión en 'Session.timeout' x 100; tiempo de espera de sesión 'bajo' en 'Session.timeout' x 300; –

+1

Esto también puede ser de ayuda: http://www.dereuromark.de/2012/02/02/more-persistent-sessions-in-cake2-x/ – Costa

Respuesta

6

Ir en app/config/core.php

En esta búsqueda de archivos para, el tiempo de espera (en segundos)

Configure::write('Session.timeout', '120'); 

Sesión, por defecto es 120 segundos. Puede editarlo aquí según sea necesario. Ahora la duración de tiempo de espera real depende,

Configure::write('Security.level', 'medium'); 

if 'high' then Session timeout in 'Session.timeout' x 10, 
if 'medium' then Session timeout in 'Session.timeout' x 100, 
if 'low' Session timeout in 'Session.timeout' x 300 

Así que mediante la combinación de Session.timeout y Security.level que pueda obtener el tiempo de espera de la sesión deseada

+8

¿se puede configurar sobre la marcha? ¿Algún usuario con un tiempo de caducidad mayor que otros? – arod

4

Encuentra este: app/config/core.php

cambiar esta línea de el valor deseado en minutos:
Configure::write('Session.timeout', '120');

(Desde CakePHP 2.3.0 Security.level ya no se usa 01. Changelog: http://cakephp.org/changelogs/2.3.0)

Cuestiones relacionadas