Pregunta

¿Cómo puedo hacer que el session.cookie_path cookie sólo disponible para el módulo de "/admin/"?

Zend Código Marco:

// Se Login?
public static function isLoggedIn() {
    $namespace = new Zend_Session_Namespace('Zend_Auth');
    $namespace->setExpirationSeconds(60*5); //5 Minutos dura una session

    $namespace->cookie_path = '/admin/'

    return Zend_Auth::getInstance()->hasIdentity();
}

No se puede llegar a PHPSESSION tiene el conjunto camino hacia '/admin/'. PHPSESSION siempre tiene el conjunto camino hacia '/' en la cookie. ; - (

¿Fue útil?

Solución

typeoneerror está casi allí. Vas a querer usar el ajuste "cookie_path" y no "cookie_domain"

Ejemplo:

    Zend_Session::setOptions(array(
        'cookie_lifetime' => 0,
        'cookie_path'     => "/admin",
        'cookie_domain'   => ".test.com",
        'cookie_secure'   => false,
        'cookie_httponly' => true
    ));

Otros consejos

Si he entendido bien, desea limitar la cookie "/ admin" en el dominio? lo necesario para pasar cookie_path como opciones a Zend_Session, no su socio _Namespace:

$settings = array("cookie_domain" => "/admin");
Zend_Session::setOptions($settings);

También puede iniciar una sesión con un objeto de configuración:

Zend_Session::start($settings);

También podría almacenar la configuración en un archivo de configuración:

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top