Domanda

Come posso fare il session.cookie_path biscotto disponibile solo per il "/admin/" modulo?

Zend Framework Codice:

// 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();
}

Non riesco a ottenere PHPSESSION di avere il set percorso '/admin/'. PHPSESSION ha sempre il set percorso '/' nel cookie. ; - (

È stato utile?

Soluzione

typeoneerror è quasi arrivati. Avrai voglia di utilizzare l'impostazione "cookie_path" e non "cookie_domain"

Esempio:

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

Altri suggerimenti

Se ho capito bene, si vuole limitare il cookie "admin /" sul dominio? è necessario passare cookie_path in opzione ai Zend_Session, non il suo partner _Namespace:

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

È anche possibile avviare una sessione con un oggetto impostazioni:

Zend_Session::start($settings);

Si potrebbe anche memorizzare le impostazioni in un file di configurazione:

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top