1

如何使 cookiesession.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 总是'/'在 cookie 中设置路径。;-(

4

2 回答 2

2

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
    ));
于 2011-01-25T19:36:19.857 回答
1

如果我理解正确,您想将 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());
于 2010-11-24T03:06:09.600 回答