Question

Comment puis-je faire le session.cookie_path cookie disponible uniquement pour le module "/admin/"?

Code de Zend Framework:

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

Je ne peux pas obtenir PHPSESSION d'avoir l'ensemble de chemin de '/admin/'. PHPSESSION a toujours le jeu de chemin de '/' dans le cookie. ; - (

Était-ce utile?

La solution

typeoneerror est presque là. Vous allez vouloir utiliser le paramètre « cookie_path » et non « cookie_domain »

Exemple:

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

Autres conseils

Si je vous comprends bien, vous voulez limiter le cookie « admin / » sur le domaine? vous devez passer cookie_path comme des options à Zend_Session, et non son partenaire _Namespace:

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

Vous pouvez également démarrer une session avec un objet de paramètres:

Zend_Session::start($settings);

Vous pouvez également enregistrer vos réglages dans un fichier de configuration:

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top