Frage

Wie kann ich das Cookie session.cookie_path machen für das Modul "/admin/" nur verfügbar?

Zend Framework Code:

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

Ich kann nicht PHPSESSION den Pfad Satz '/admin/' zu haben. PHPSESSION hat immer den Pfad Satz im Cookie auf '/'. ; - (

War es hilfreich?

Lösung

ist typeoneerror fast da. Du wird will die Einstellung „cookie_path“ verwenden und nicht „cookie_domain“

Beispiel:

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

Andere Tipps

Wenn ich Sie richtig verstehe, wollen Sie sich auf der Domäne das Cookie „/ admin“ begrenzen? Sie müssen cookie_path als Optionen Zend_Session passieren, nicht seine _Namespace Partner:

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

Sie können auch eine Sitzung mit einem Einstellungsobjekt starten:

Zend_Session::start($settings);

Sie können auch die Einstellungen in einer Konfigurationsdatei gespeichert werden:

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top