我如何做饼干 session.cookie_path 仅适用于模块 "/admin/"?

Zend框架代码:

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

我无法让phpsession设置为 '/admin/'. 。 phpsession始终有通往的路径 '/' 在饼干中。 ;-(

有帮助吗?

解决方案

TypeOneError几乎在那里。您将要使用“ cookie_path”设置,而不是“ cookie_domain”

例子:

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

其他提示

如果我正确理解您,您想将cookie限制在域上的“/admin”?您需要将cookie_path作为选项将其传递给zend_session,而不是其_namespace合作伙伴:

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

您还可以使用设置对象开始会话:

Zend_Session::start($settings);

您也可以将设置存储在配置文件中:

$config = new Zend_Config_Ini('config.ini', 'development');
Zend_Session::setOptions($config->toArray());
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top